18887: address review comments.
[arvados.git] / services / health / main.go
index 7f4d6481e034556f6c71f6caef042f0d3199030a..bc57d36d04b1158cd8c6ade4191a63eed5fad354 100644 (file)
@@ -1,33 +1,29 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
-       "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"
+       "context"
+       "os"
+
+       "git.arvados.org/arvados.git/lib/cmd"
+       "git.arvados.org/arvados.git/lib/service"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/sdk/go/health"
+       "github.com/prometheus/client_golang/prometheus"
 )
 
-func main() {
-       log.SetFormatter(&log.JSONFormatter{
-               TimestampFormat: "2006-01-02T15:04:05.000000000Z07:00",
-       })
-       sysConf, err := arvados.GetSystemConfig()
-       if err != nil {
-               log.Fatal(err)
-       }
+var (
+       version             = "dev"
+       command cmd.Handler = service.Command(arvados.ServiceNameHealth, newHandler)
+)
 
-       srv := &httpserver.Server{
-               Addr: ":", // FIXME: should be dictated by Health on this SystemNode
-               Handler: &health.Aggregator{
-                       SystemConfig: sysConf,
-               },
-       }
-       srv.HandleFunc()
-       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, _ *prometheus.Registry) 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))
 }