X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0f644e242ef37c911ad3dc25aca8135c339de349..3134a937ab5133d73c799618f2a53e21e7c8a460:/services/keep-web/main.go diff --git a/services/keep-web/main.go b/services/keep-web/main.go index c4103f4097..724af27c7e 100644 --- a/services/keep-web/main.go +++ b/services/keep-web/main.go @@ -6,6 +6,7 @@ package main import ( "flag" + "fmt" "log" "os" "time" @@ -17,6 +18,7 @@ import ( var ( defaultConfigPath = "/etc/arvados/keep-web/keep-web.yml" + version = "dev" ) // Config specifies server configuration. @@ -34,6 +36,9 @@ type Config struct { // Hack to support old command line flag, which is a bool // meaning "get actual token from environment". deprecatedAllowAnonymous bool + + //Authorization token to be included in all health check requests. + ManagementToken string } // DefaultConfig returns the default configuration. @@ -42,6 +47,7 @@ func DefaultConfig() *Config { Listen: ":80", Cache: cache{ TTL: arvados.Duration(5 * time.Minute), + UUIDTTL: arvados.Duration(5 * time.Second), MaxCollectionEntries: 1000, MaxCollectionBytes: 100000000, MaxPermissionEntries: 1000, @@ -76,11 +82,22 @@ 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) + flag.StringVar(&cfg.ManagementToken, "management-token", "", + "Authorization token to be included in all health check requests.") + dumpConfig := flag.Bool("dump-config", false, "write current configuration to stdout and exit") + getVersion := flag.Bool("version", false, + "print version information and exit.") flag.Usage = usage flag.Parse() + // Print version information if requested + if *getVersion { + fmt.Printf("keep-web %s\n", version) + return + } + if err := config.LoadFile(cfg, configPath); err != nil { if h := os.Getenv("ARVADOS_API_HOST"); h != "" && configPath == defaultConfigPath { log.Printf("DEPRECATED: Using ARVADOS_API_HOST environment variable. Use config file instead.") @@ -98,6 +115,8 @@ func main() { log.Fatal(config.DumpAndExit(cfg)) } + log.Printf("keep-web %s started", version) + os.Setenv("ARVADOS_API_HOST", cfg.Client.APIHost) srv := &server{Config: cfg} if err := srv.Start(); err != nil {