18699: boot.Supervisor support for multi-cluster config file.
[arvados.git] / lib / dispatchcloud / cmd.go
index f8143ac8ce5f50a06a4bdd39ed363bc6699c5563..0254c6526c19103d336ea14fac445877c685376a 100644 (file)
@@ -6,19 +6,27 @@ package dispatchcloud
 
 import (
        "context"
+       "fmt"
 
-       "git.curoverse.com/arvados.git/lib/cmd"
-       "git.curoverse.com/arvados.git/lib/service"
-       "git.curoverse.com/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/lib/cmd"
+       "git.arvados.org/arvados.git/lib/service"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "github.com/prometheus/client_golang/prometheus"
 )
 
 var Command cmd.Handler = service.Command(arvados.ServiceNameDispatchCloud, newHandler)
 
-func newHandler(ctx context.Context, cluster *arvados.Cluster, _ *arvados.NodeProfile, token string) service.Handler {
+func newHandler(ctx context.Context, cluster *arvados.Cluster, token string, reg *prometheus.Registry) service.Handler {
+       ac, err := arvados.NewClientFromConfig(cluster)
+       if err != nil {
+               return service.ErrorHandler(ctx, cluster, fmt.Errorf("error initializing client from cluster config: %s", err))
+       }
        d := &dispatcher{
                Cluster:   cluster,
                Context:   ctx,
+               ArvClient: ac,
                AuthToken: token,
+               Registry:  reg,
        }
        go d.Start()
        return d