Merge branch '19897-fuse-enotsup'
[arvados.git] / lib / service / cmd.go
index 9e45e0f7e828a340d5eee6d024eb9f8da21cf948..20441c2a6c4534eb697a85bfc4c369e64ae0aad9 100644 (file)
@@ -147,9 +147,10 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout
        instrumented := httpserver.Instrument(reg, log,
                httpserver.HandlerWithDeadline(cluster.API.RequestTimeout.Duration(),
                        httpserver.AddRequestIDs(
-                               httpserver.LogRequests(
-                                       interceptHealthReqs(cluster.ManagementToken, handler.CheckHealth,
-                                               httpserver.NewRequestLimiter(cluster.API.MaxConcurrentRequests, handler, reg))))))
+                               httpserver.Inspect(reg, cluster.ManagementToken,
+                                       httpserver.LogRequests(
+                                               interceptHealthReqs(cluster.ManagementToken, handler.CheckHealth,
+                                                       httpserver.NewRequestLimiter(cluster.API.MaxConcurrentRequests, handler, reg)))))))
        srv := &httpserver.Server{
                Server: http.Server{
                        Handler:     ifCollectionInHost(instrumented, instrumented.ServeAPI(cluster.ManagementToken, instrumented)),
@@ -158,7 +159,7 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout
                Addr: listenURL.Host,
        }
        if listenURL.Scheme == "https" || listenURL.Scheme == "wss" {
-               tlsconfig, err := tlsConfigWithCertUpdater(cluster, logger)
+               tlsconfig, err := makeTLSConfig(cluster, logger)
                if err != nil {
                        logger.WithError(err).Errorf("cannot start %s service on %s", c.svcName, listenURL.String())
                        return 1
@@ -279,7 +280,11 @@ func getListenAddr(svcs arvados.Services, prog arvados.ServiceName, log logrus.F
                        // explicit port name/number) means listen on
                        // the well-known port for the specified
                        // protocol, "foo.example:https".
-                       listenAddr = net.JoinHostPort(listenAddr, listenURL.Scheme)
+                       port := listenURL.Scheme
+                       if port == "ws" || port == "wss" {
+                               port = "http" + port[2:]
+                       }
+                       listenAddr = net.JoinHostPort(listenAddr, port)
                }
                listener, err := net.Listen("tcp", listenAddr)
                if err == nil {