Mechanisms to disable checkpoint

This commit is contained in:
Mitchell Hashimoto 2014-09-08 14:20:13 -07:00
parent 806a8e0154
commit d4fcbfafa8
2 changed files with 17 additions and 3 deletions

View File

@ -9,7 +9,14 @@ import (
"github.com/mitchellh/packer/packer" "github.com/mitchellh/packer/packer"
) )
// runCheckpoint runs a HashiCorp Checkpoint request. You can read about
// Checkpoint here: https://github.com/hashicorp/go-checkpoint.
func runCheckpoint(c *config) { func runCheckpoint(c *config) {
// If the user doesn't want checkpoint at all, then return.
if c.DisableCheckpoint {
return
}
configDir, err := ConfigDir() configDir, err := ConfigDir()
if err != nil { if err != nil {
log.Printf("[ERR] Checkpoint setup error: %s", err) log.Printf("[ERR] Checkpoint setup error: %s", err)
@ -21,10 +28,15 @@ func runCheckpoint(c *config) {
version += fmt.Sprintf(".%s", packer.VersionPrerelease) version += fmt.Sprintf(".%s", packer.VersionPrerelease)
} }
signaturePath := filepath.Join(configDir, "checkpoint_signature")
if c.DisableCheckpointSignature {
signaturePath = ""
}
_, err = checkpoint.Check(&checkpoint.CheckParams{ _, err = checkpoint.Check(&checkpoint.CheckParams{
Product: "packer", Product: "packer",
Version: version, Version: version,
SignatureFile: filepath.Join(configDir, "checkpoint_signature"), SignatureFile: signaturePath,
CacheFile: filepath.Join(configDir, "checkpoint_cache"), CacheFile: filepath.Join(configDir, "checkpoint_cache"),
}) })
if err != nil { if err != nil {

View File

@ -14,6 +14,8 @@ import (
) )
type config struct { type config struct {
DisableCheckpoint bool `json:"disable_checkpoint"`
DisableCheckpointSignature bool `json:"disable_checkpoint_signature"`
PluginMinPort uint PluginMinPort uint
PluginMaxPort uint PluginMaxPort uint