X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5c9aedbd8e623a518f5e1a92e4064a25ddd66353..533a50bbcee4ece451a65e87066563a5b33ef150:/services/keepproxy/keepproxy.go diff --git a/services/keepproxy/keepproxy.go b/services/keepproxy/keepproxy.go index 46664931fd..76a8a1551f 100644 --- a/services/keepproxy/keepproxy.go +++ b/services/keepproxy/keepproxy.go @@ -1,7 +1,6 @@ package main import ( - "encoding/json" "errors" "flag" "fmt" @@ -22,6 +21,7 @@ import ( "git.curoverse.com/arvados.git/sdk/go/config" "git.curoverse.com/arvados.git/sdk/go/keepclient" "github.com/coreos/go-systemd/daemon" + "github.com/ghodss/yaml" "github.com/gorilla/mux" ) @@ -60,8 +60,9 @@ func main() { timeoutSeconds := flagset.Int("timeout", int(time.Duration(cfg.Timeout)/time.Second), "Timeout (in seconds) on requests to internal Keep services."+deprecated) var cfgPath string - const defaultCfgPath = "/etc/arvados/keepproxy/config.json" + const defaultCfgPath = "/etc/arvados/keepproxy/keepproxy.yml" flagset.StringVar(&cfgPath, "config", defaultCfgPath, "Configuration file `path`") + dumpConfig := flagset.Bool("dump-config", false, "write current configuration to stdout and exit") flagset.Parse(os.Args[1:]) err := config.LoadFile(cfg, cfgPath) @@ -77,12 +78,16 @@ func main() { if regexp.MustCompile("^(?i:1|yes|true)$").MatchString(os.Getenv("ARVADOS_API_HOST_INSECURE")) { cfg.Client.Insecure = true } - if j, err := json.MarshalIndent(cfg, "", " "); err == nil { - log.Print("Current configuration:\n", string(j)) + if y, err := yaml.Marshal(cfg); err == nil && !*dumpConfig { + log.Print("Current configuration:\n", string(y)) } cfg.Timeout = arvados.Duration(time.Duration(*timeoutSeconds) * time.Second) } + if *dumpConfig { + log.Fatal(config.DumpAndExit(cfg)) + } + arv, err := arvadosclient.New(&cfg.Client) if err != nil { log.Fatalf("Error setting up arvados client %s", err.Error()) @@ -131,7 +136,7 @@ func main() { if err != nil { log.Fatalf("listen(%s): %s", cfg.Listen, err) } - if _, err := daemon.SdNotify("READY=1"); err != nil { + if _, err := daemon.SdNotify(false, "READY=1"); err != nil { log.Printf("Error notifying init daemon: %v", err) } log.Println("Listening at", listener.Addr())