14324: Use logrus in Azure driver. Fix Sirupsen->sirupsen in imports
[arvados.git] / services / keep-balance / server.go
index c47305aefcc6e04152bbc926dab12c478b5ee60c..613a2f7d3c3da2e6c466ec8ac9345a9e2e70775e 100644 (file)
@@ -13,8 +13,9 @@ import (
        "time"
 
        "git.curoverse.com/arvados.git/sdk/go/arvados"
+       "git.curoverse.com/arvados.git/sdk/go/auth"
        "git.curoverse.com/arvados.git/sdk/go/httpserver"
-       "github.com/Sirupsen/logrus"
+       "github.com/sirupsen/logrus"
 )
 
 var version = "dev"
@@ -40,6 +41,9 @@ type Config struct {
        // address, address:port, or :port for management interface
        Listen string
 
+       // token for management APIs
+       ManagementToken string
+
        // How often to check
        RunPeriod arvados.Duration
 
@@ -121,7 +125,9 @@ func (srv *Server) start() error {
        }
        server := &httpserver.Server{
                Server: http.Server{
-                       Handler: httpserver.LogRequests(srv.Logger, srv.metrics.Handler(srv.Logger)),
+                       Handler: httpserver.LogRequests(srv.Logger,
+                               auth.RequireLiteralToken(srv.config.ManagementToken,
+                                       srv.metrics.Handler(srv.Logger))),
                },
                Addr: srv.config.Listen,
        }