16306: Add "ping" health check to keep-balance.
authorTom Clegg <tom@tomclegg.ca>
Fri, 7 Aug 2020 19:00:22 +0000 (15:00 -0400)
committerTom Clegg <tom@tomclegg.ca>
Fri, 21 Aug 2020 17:55:34 +0000 (13:55 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

services/keep-balance/main.go

index 65bd8d4cf098a17610953810ab8147f678616aee..8b4ee84c716e4596987b1371b38035610f9ffa2f 100644 (file)
@@ -9,13 +9,13 @@ import (
        "flag"
        "fmt"
        "io"
-       "net/http"
        "os"
 
        "git.arvados.org/arvados.git/lib/config"
        "git.arvados.org/arvados.git/lib/service"
        "git.arvados.org/arvados.git/sdk/go/arvados"
        "git.arvados.org/arvados.git/sdk/go/ctxlog"
+       "git.arvados.org/arvados.git/sdk/go/health"
        "github.com/prometheus/client_golang/prometheus"
        "github.com/sirupsen/logrus"
 )
@@ -83,7 +83,6 @@ func runCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.W
                        }
 
                        srv := &Server{
-                               Handler:    http.NotFoundHandler(),
                                Cluster:    cluster,
                                ArvClient:  ac,
                                RunOptions: options,
@@ -91,6 +90,11 @@ func runCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.W
                                Logger:     options.Logger,
                                Dumper:     options.Dumper,
                        }
+                       srv.Handler = &health.Handler{
+                               Token:  cluster.ManagementToken,
+                               Prefix: "/_health/",
+                               Routes: health.Routes{"ping": srv.CheckHealth},
+                       }
 
                        go srv.run()
                        return srv