12260: Fix remote ping auth. Make server work.
[arvados.git] / services / health / main.go
1 package main
2
3 import (
4         "net/http"
5
6         "git.curoverse.com/arvados.git/sdk/go/arvados"
7         "git.curoverse.com/arvados.git/sdk/go/health"
8         "git.curoverse.com/arvados.git/sdk/go/httpserver"
9         log "github.com/Sirupsen/logrus"
10 )
11
12 func main() {
13         log.SetFormatter(&log.JSONFormatter{
14                 TimestampFormat: "2006-01-02T15:04:05.000000000Z07:00",
15         })
16         cfg, err := arvados.GetConfig()
17         if err != nil {
18                 log.Fatal(err)
19         }
20         clusterCfg, err := cfg.GetCluster("")
21         if err != nil {
22                 log.Fatal(err)
23         }
24         nodeCfg, err := clusterCfg.GetThisSystemNode()
25         if err != nil {
26                 log.Fatal(err)
27         }
28
29         srv := &httpserver.Server{
30                 Addr: nodeCfg.Health.Listen,
31                 Server: http.Server{
32                         Handler: &health.Aggregator{
33                                 Config: cfg,
34                         },
35                 },
36         }
37         if err := srv.Start(); err != nil {
38                 log.Fatal(err)
39         }
40         log.WithField("Listen", srv.Addr).Info("listening")
41         if err := srv.Wait(); err != nil {
42                 log.Fatal(err)
43         }
44 }