13647: ARVADOS_CONFIG env var overrides default cluster config path.
authorTom Clegg <tclegg@veritasgenetics.com>
Thu, 11 Jul 2019 17:32:23 +0000 (13:32 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Thu, 11 Jul 2019 17:32:23 +0000 (13:32 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

lib/config/load.go
sdk/go/arvados/config.go

index b3709b5bd9f1696267c821956764e745ff4b76fc..a11878bccd2c9b0d8a942f52c93fd4b8a5433b70 100644 (file)
@@ -51,7 +51,7 @@ func NewLoader(stdin io.Reader, logger logrus.FieldLogger) *Loader {
 //     flagset.Parse([]string{"-config", "/tmp/c.yaml"})
 //     // ldr.Path == "/tmp/c.yaml"
 func (ldr *Loader) SetupFlags(flagset *flag.FlagSet) {
-       flagset.StringVar(&ldr.Path, "config", arvados.DefaultConfigFile, "Site configuration `file`")
+       flagset.StringVar(&ldr.Path, "config", arvados.DefaultConfigFile, "Site configuration `file` (default may be overridden by setting an ARVADOS_CONFIG environment variable)")
        flagset.StringVar(&ldr.KeepstorePath, "legacy-keepstore-config", defaultKeepstoreConfigPath, "Legacy keepstore configuration `file`")
 }
 
index 9c667610bcaaafc97ba276c4c25e632e6eb1c881..aa0e83c66a0c1a0ae85868e849c21465d065574c 100644 (file)
@@ -9,11 +9,18 @@ import (
        "errors"
        "fmt"
        "net/url"
+       "os"
 
        "git.curoverse.com/arvados.git/sdk/go/config"
 )
 
-const DefaultConfigFile = "/etc/arvados/config.yml"
+var DefaultConfigFile = func() string {
+       if path := os.Getenv("ARVADOS_CONFIG"); path != "" {
+               return path
+       } else {
+               return "/etc/arvados/config.yml"
+       }
+}()
 
 type Config struct {
        Clusters map[string]Cluster