From 73d4b1ffeca84b65ecac8ae31282a5ae91796642 Mon Sep 17 00:00:00 2001 From: dgrisham Date: Fri, 28 Jul 2017 09:23:34 -0600 Subject: [PATCH] Refactor to distinguish empty and unset CLUSTER_SECRET env var --- ipfs-cluster-service/main.go | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/ipfs-cluster-service/main.go b/ipfs-cluster-service/main.go index 32bf13ca..4c1a3453 100644 --- a/ipfs-cluster-service/main.go +++ b/ipfs-cluster-service/main.go @@ -210,15 +210,14 @@ configuration. Name: "custom-secret, s", Usage: "prompt for the cluster secret", }, - cli.StringFlag{ - Name: "env-cluster-secret", - EnvVar: "CLUSTER_SECRET", - Hidden: true, - }, }, Action: func(c *cli.Context) error { - initConfig(c.GlobalBool("force"), !c.Bool("custom-secret"), - c.String("env-cluster-secret")) + envSecret, envSecretDefined := os.LookupEnv("CLUSTER_SECRET") + if envSecretDefined { + initConfig(c.GlobalBool("force"), !c.Bool("custom-secret"), &envSecret) + } else { + initConfig(c.GlobalBool("force"), !c.Bool("custom-secret"), nil) + } return nil }, }, @@ -251,7 +250,7 @@ configuration. func run(c *cli.Context) error { if c.Bool("init") { - initConfig(c.Bool("force"), false, "") + initConfig(c.Bool("force"), false, nil) return nil } @@ -370,7 +369,7 @@ func setupDebug() { //SetFacilityLogLevel("libp2p-raft", l) } -func initConfig(force bool, generateSecret bool, envSecret string) { +func initConfig(force bool, generateSecret bool, envSecret *string) { if _, err := os.Stat(configPath); err == nil && !force { err := fmt.Errorf("%s exists. Try running with -f", configPath) checkErr("", err) @@ -379,10 +378,10 @@ func initConfig(force bool, generateSecret bool, envSecret string) { cfg, err := ipfscluster.NewDefaultConfig() checkErr("creating default configuration", err) - if len(envSecret) != 0 { + if envSecret != nil { // read cluster secret from env variable fmt.Println("Reading cluster secret from CLUSTER_SECRET environment variable.") - cfg.ClusterSecret, err = ipfscluster.DecodeClusterSecret(envSecret) + cfg.ClusterSecret, err = ipfscluster.DecodeClusterSecret(*envSecret) } else if !generateSecret { // get cluster secret from user cfg.ClusterSecret, err = ipfscluster.DecodeClusterSecret(promptUser("Enter cluster secret (32-byte hex string): "))