15003: Merge branch 'master'
[arvados.git] / services / health / main.go
index 3e089fa5a229966dd79f410bbc3e56605f26b4bd..2f66b2461ebb81c7ee94399cc4dc426ac2315c33 100644 (file)
@@ -1,44 +1,28 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
-       "net/http"
+       "context"
+       "os"
 
+       "git.curoverse.com/arvados.git/lib/cmd"
+       "git.curoverse.com/arvados.git/lib/service"
        "git.curoverse.com/arvados.git/sdk/go/arvados"
        "git.curoverse.com/arvados.git/sdk/go/health"
-       "git.curoverse.com/arvados.git/sdk/go/httpserver"
-       log "github.com/Sirupsen/logrus"
 )
 
-func main() {
-       log.SetFormatter(&log.JSONFormatter{
-               TimestampFormat: "2006-01-02T15:04:05.000000000Z07:00",
-       })
-       cfg, err := arvados.GetConfig()
-       if err != nil {
-               log.Fatal(err)
-       }
-       clusterCfg, err := cfg.GetCluster("")
-       if err != nil {
-               log.Fatal(err)
-       }
-       nodeCfg, err := clusterCfg.GetThisSystemNode()
-       if err != nil {
-               log.Fatal(err)
-       }
+var (
+       version             = "dev"
+       command cmd.Handler = service.Command(arvados.ServiceNameController, newHandler)
+)
 
-       srv := &httpserver.Server{
-               Addr: nodeCfg.Health.Listen,
-               Server: http.Server{
-                       Handler: &health.Aggregator{
-                               Config: cfg,
-                       },
-               },
-       }
-       if err := srv.Start(); err != nil {
-               log.Fatal(err)
-       }
-       log.WithField("Listen", srv.Addr).Info("listening")
-       if err := srv.Wait(); err != nil {
-               log.Fatal(err)
-       }
+func newHandler(ctx context.Context, cluster *arvados.Cluster, _ string) service.Handler {
+       return &health.Aggregator{Cluster: cluster}
+}
+
+func main() {
+       os.Exit(command.RunCommand(os.Args[0], os.Args[1:], os.Stdin, os.Stdout, os.Stderr))
 }