16263: Rename no_federation -> bypass_federation
[arvados.git] / services / keepproxy / keepproxy.go
index f2a89e58eff3828b8e9cff4425639d5d9527d85f..2b15d79940844285bbb57c1f771bb31a4c15ff78 100644 (file)
@@ -20,12 +20,12 @@ import (
        "syscall"
        "time"
 
-       "git.curoverse.com/arvados.git/lib/config"
-       "git.curoverse.com/arvados.git/sdk/go/arvados"
-       "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
-       "git.curoverse.com/arvados.git/sdk/go/health"
-       "git.curoverse.com/arvados.git/sdk/go/httpserver"
-       "git.curoverse.com/arvados.git/sdk/go/keepclient"
+       "git.arvados.org/arvados.git/lib/config"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/sdk/go/arvadosclient"
+       "git.arvados.org/arvados.git/sdk/go/health"
+       "git.arvados.org/arvados.git/sdk/go/httpserver"
+       "git.arvados.org/arvados.git/sdk/go/keepclient"
        "github.com/coreos/go-systemd/daemon"
        "github.com/ghodss/yaml"
        "github.com/gorilla/mux"
@@ -41,9 +41,8 @@ var (
 
 const rfc3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00"
 
-func configure(logger log.FieldLogger, args []string) *arvados.Cluster {
+func configure(logger log.FieldLogger, args []string) (*arvados.Cluster, error) {
        flags := flag.NewFlagSet(args[0], flag.ExitOnError)
-       flags.Usage = usage
 
        dumpConfig := flags.Bool("dump-config", false, "write current configuration to stdout and exit")
        getVersion := flags.Bool("version", false, "Print version information and exit.")
@@ -57,31 +56,29 @@ func configure(logger log.FieldLogger, args []string) *arvados.Cluster {
        // Print version information if requested
        if *getVersion {
                fmt.Printf("keepproxy %s\n", version)
-               return nil
+               return nil, nil
        }
 
        cfg, err := loader.Load()
        if err != nil {
-               log.Fatal(err)
+               return nil, err
        }
-
        cluster, err := cfg.GetCluster("")
        if err != nil {
-               log.Fatal(err)
+               return nil, err
        }
 
        if *dumpConfig {
                out, err := yaml.Marshal(cfg)
                if err != nil {
-                       log.Fatal(err)
+                       return nil, err
                }
-               _, err = os.Stdout.Write(out)
-               if err != nil {
-                       log.Fatal(err)
+               if _, err := os.Stdout.Write(out); err != nil {
+                       return nil, err
                }
-               return nil
+               return nil, nil
        }
-       return cluster
+       return cluster, nil
 }
 
 func main() {
@@ -90,7 +87,10 @@ func main() {
                TimestampFormat: rfc3339NanoFixed,
        }
 
-       cluster := configure(logger, os.Args)
+       cluster, err := configure(logger, os.Args)
+       if err != nil {
+               log.Fatal(err)
+       }
        if cluster == nil {
                return
        }
@@ -107,13 +107,13 @@ func main() {
 func run(logger log.FieldLogger, cluster *arvados.Cluster) error {
        client, err := arvados.NewClientFromConfig(cluster)
        if err != nil {
-               log.Fatal(err)
+               return err
        }
        client.AuthToken = cluster.SystemRootToken
 
        arv, err := arvadosclient.New(client)
        if err != nil {
-               log.Fatalf("Error setting up arvados client %s", err.Error())
+               return fmt.Errorf("Error setting up arvados client %v", err)
        }
 
        if cluster.SystemLogs.LogLevel == "debug" {
@@ -121,7 +121,7 @@ func run(logger log.FieldLogger, cluster *arvados.Cluster) error {
        }
        kc, err := keepclient.MakeKeepClient(arv)
        if err != nil {
-               log.Fatalf("Error setting up keep client %s", err.Error())
+               return fmt.Errorf("Error setting up keep client %v", err)
        }
        keepclient.RefreshServiceDiscoveryOnSIGHUP()
 
@@ -137,13 +137,13 @@ func run(logger log.FieldLogger, cluster *arvados.Cluster) error {
        var lErr error
        listener, lErr = net.Listen("tcp", listen.Host)
        if lErr != nil {
-               log.Fatalf("listen(%s): %s", listen.Host, lErr)
+               return fmt.Errorf("listen(%s): %v", listen.Host, lErr)
        }
 
        if _, err := daemon.SdNotify(false, "READY=1"); err != nil {
                log.Printf("Error notifying init daemon: %v", err)
        }
-       log.Println("Listening at", listener.Addr())
+       log.Println("listening at", listener.Addr())
 
        // Shut down the server gracefully (by closing the listener)
        // if SIGTERM is received.
@@ -157,7 +157,7 @@ func run(logger log.FieldLogger, cluster *arvados.Cluster) error {
        signal.Notify(term, syscall.SIGINT)
 
        // Start serving requests.
-       router = MakeRESTRouter(kc, time.Duration(cluster.API.KeepServiceRequestTimeout), cluster.SystemRootToken)
+       router = MakeRESTRouter(kc, time.Duration(cluster.API.KeepServiceRequestTimeout), cluster.ManagementToken)
        return http.Serve(listener, httpserver.AddRequestIDs(httpserver.LogRequests(router)))
 }