import (
"flag"
"fmt"
- "log"
"net/http"
"time"
"git.curoverse.com/arvados.git/sdk/go/config"
)
-var debugLogf = func(string, ...interface{}) {}
-
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()
if err != nil {
log.Fatal(err)
}
- if cfg.Debug {
- debugLogf = log.Printf
- }
+
+ loggerConfig(cfg)
if *dumpConfig {
txt, err := config.Dump(&cfg)
}
eventSource := &pgEventSource{
- PgConfig: cfg.Postgres,
- QueueSize: cfg.ServerEventQueue,
+ DataSource: cfg.Postgres.ConnectionString(),
+ QueueSize: cfg.ServerEventQueue,
}
srv := &http.Server{
Addr: cfg.Listen,
WriteTimeout: time.Minute,
MaxHeaderBytes: 1 << 20,
Handler: &router{
- Config: &cfg,
- eventSource: eventSource,
+ Config: &cfg,
+ eventSource: eventSource,
+ newPermChecker: func() permChecker { return NewPermChecker(cfg.Client) },
},
}
eventSource.NewSink().Stop()
+
+ log.WithField("Listen", srv.Addr).Info("listening")
log.Fatal(srv.ListenAndServe())
}