just try init once
[arvados.git] / services / boot / main.go
1 package main
2
3 import (
4         "context"
5         "encoding/json"
6         "flag"
7         "log"
8         "os"
9
10         "git.curoverse.com/arvados.git/sdk/go/config"
11 )
12
13 const defaultCfgPath = "/etc/arvados/boot/boot.yml"
14
15 func main() {
16         cfgPath := flag.String("config", defaultCfgPath, "`path` to config file")
17         flag.Parse()
18
19         cfg := DefaultConfig()
20         if err := config.LoadFile(cfg, *cfgPath); os.IsNotExist(err) && *cfgPath == defaultCfgPath {
21                 log.Printf("WARNING: No config file specified or found, starting fresh!")
22         } else if err != nil {
23                 log.Fatal(err)
24         }
25
26         enc := json.NewEncoder(os.Stderr)
27         enc.SetIndent("", "  ")
28         enc.Encode(cfg)
29
30         var ctl Booter = &controller{}
31         err := ctl.Boot(withCfg(context.Background(), cfg))
32         if err != nil {
33                 log.Printf("controller boot failed: %v", err)
34         }
35 }