10690: De-duplicate dumpConfig.
[arvados.git] / services / keep-web / main.go
index 2d563bd76f9e23290c03d1a9ea24fed854b7ab7b..5f4cb5090468708ce02d34ec5f74d9baf80720a5 100644 (file)
@@ -11,7 +11,7 @@ import (
 )
 
 var (
-       defaultConfigPath = "/etc/arvados/keep-web/config.json"
+       defaultConfigPath = "/etc/arvados/keep-web/keep-web.yml"
 )
 
 // Config specifies server configuration.
@@ -53,7 +53,7 @@ func main() {
        var configPath string
        deprecated := " (DEPRECATED -- use config file instead)"
        flag.StringVar(&configPath, "config", defaultConfigPath,
-               "`path` to json configuration file")
+               "`path` to JSON or YAML configuration file")
        flag.StringVar(&cfg.Listen, "listen", "",
                "address:port or :port to listen on"+deprecated)
        flag.BoolVar(&cfg.deprecatedAllowAnonymous, "allow-anonymous", false,
@@ -62,6 +62,8 @@ func main() {
                "Only serve attachments at the given `host:port`"+deprecated)
        flag.BoolVar(&cfg.TrustAllContent, "trust-all-content", false,
                "Serve non-public content from a single origin. Dangerous: read docs before using!"+deprecated)
+       dumpConfig := flag.Bool("dump-config", false,
+               "write current configuration to stdout and exit")
        flag.Usage = usage
        flag.Parse()
 
@@ -78,12 +80,16 @@ func main() {
                cfg.AnonymousTokens = []string{os.Getenv("ARVADOS_API_TOKEN")}
        }
 
+       if *dumpConfig {
+               log.Fatal(config.DumpAndExit(cfg))
+       }
+
        os.Setenv("ARVADOS_API_HOST", cfg.Client.APIHost)
        srv := &server{Config: cfg}
        if err := srv.Start(); err != nil {
                log.Fatal(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", srv.Addr)