X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2dec79b036796df75885abf4e1a977958f9c541d..7cb536fa58d8cc837b4cb59680c7355a1687648b:/services/ws/main.go diff --git a/services/ws/main.go b/services/ws/main.go index ce56d0d5fd..0f978231b9 100644 --- a/services/ws/main.go +++ b/services/ws/main.go @@ -2,6 +2,7 @@ package main import ( "flag" + "fmt" "log" "net/http" "time" @@ -9,13 +10,30 @@ import ( "git.curoverse.com/arvados.git/sdk/go/config" ) +var debugLogf = func(string, ...interface{}) {} + func main() { configPath := flag.String("config", "/etc/arvados/ws/ws.yml", "`path` to config file") + dumpConfig := flag.Bool("dump-config", false, "show current configuration and exit") cfg := DefaultConfig() + flag.Parse() + err := config.LoadFile(&cfg, *configPath) if err != nil { log.Fatal(err) } + if cfg.Debug { + debugLogf = log.Printf + } + + if *dumpConfig { + txt, err := config.Dump(&cfg) + if err != nil { + log.Fatal(err) + } + fmt.Print(string(txt)) + return + } srv := &http.Server{ Addr: cfg.Listen, @@ -23,10 +41,11 @@ func main() { WriteTimeout: time.Minute, MaxHeaderBytes: 1 << 20, Handler: &router{ - EventSource: (&pgEventSource{ + Config: &cfg, + eventSource: &pgEventSource{ PgConfig: cfg.Postgres, QueueSize: cfg.ServerEventQueue, - }).EventSource(), + }, }, } log.Fatal(srv.ListenAndServe())