Merge branch '18696-rnaseq-training' refs #18696
[arvados.git] / services / arv-git-httpd / server.go
index e2311d22e876861ecbe8749b8f552aff2c2c2871..38a018ab3d5189a9b60a33368b92ae62247112e3 100644 (file)
@@ -1,19 +1,36 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
        "net/http"
 
-       "git.curoverse.com/arvados.git/sdk/go/httpserver"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/sdk/go/health"
+       "git.arvados.org/arvados.git/sdk/go/httpserver"
 )
 
 type server struct {
        httpserver.Server
+       cluster *arvados.Cluster
 }
 
 func (srv *server) Start() error {
        mux := http.NewServeMux()
-       mux.Handle("/", &authHandler{handler: newGitHandler()})
+       mux.Handle("/", &authHandler{handler: newGitHandler(srv.cluster), cluster: srv.cluster})
+       mux.Handle("/_health/", &health.Handler{
+               Token:  srv.cluster.ManagementToken,
+               Prefix: "/_health/",
+       })
+
+       var listen arvados.URL
+       for listen = range srv.cluster.Services.GitHTTP.InternalURLs {
+               break
+       }
+
        srv.Handler = mux
-       srv.Addr = theConfig.Listen
+       srv.Addr = listen.Host
        return srv.Server.Start()
 }