Merge branch '10846-nodemanager-errors' closes #10846
[arvados.git] / services / ws / main.go
index c4e10785864736ab2a81a0fd7903831c87b41cc8..9eee8130af9d9b4b8fe831aa48865f5abd64808f 100644 (file)
@@ -7,15 +7,18 @@ import (
        "time"
 
        "git.curoverse.com/arvados.git/sdk/go/config"
+       "git.curoverse.com/arvados.git/sdk/go/ctxlog"
        "github.com/coreos/go-systemd/daemon"
 )
 
+var logger = ctxlog.FromContext
+
 func main() {
        log := logger(nil)
 
        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()
+       cfg := defaultConfig()
        flag.Parse()
 
        err := config.LoadFile(&cfg, *configPath)
@@ -23,7 +26,8 @@ func main() {
                log.Fatal(err)
        }
 
-       loggerConfig(cfg)
+       ctxlog.SetLevel(cfg.LogLevel)
+       ctxlog.SetFormat(cfg.LogFormat)
 
        if *dumpConfig {
                txt, err := config.Dump(&cfg)
@@ -34,6 +38,7 @@ func main() {
                return
        }
 
+       log.Info("started")
        eventSource := &pgEventSource{
                DataSource: cfg.Postgres.ConnectionString(),
                QueueSize:  cfg.ServerEventQueue,
@@ -46,12 +51,14 @@ func main() {
                Handler: &router{
                        Config:         &cfg,
                        eventSource:    eventSource,
-                       newPermChecker: func() permChecker { return NewPermChecker(cfg.Client) },
+                       newPermChecker: func() permChecker { return newPermChecker(cfg.Client) },
                },
        }
-       // Bootstrap the eventSource by attaching a dummy subscriber
-       // and hanging up.
-       eventSource.NewSink().Stop()
+
+       go func() {
+               eventSource.Run()
+               log.Fatal("event source stopped")
+       }()
 
        if _, err := daemon.SdNotify(false, "READY=1"); err != nil {
                log.WithError(err).Warn("error notifying init daemon")