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

View File

@ -14,8 +14,10 @@ import (
)
type config struct {
PluginMinPort uint
PluginMaxPort uint
DisableCheckpoint bool `json:"disable_checkpoint"`
DisableCheckpointSignature bool `json:"disable_checkpoint_signature"`
PluginMinPort uint
PluginMaxPort uint
Builders map[string]string
Commands map[string]string