16745: Keep a SiteFileSystem alive for multiple read requests.
[arvados.git] / services / keep-web / main.go
index 9dae50a8a56b3dbc20ef3fa6709499a197d41b64..a62e0abb667ca5211994211e9f401c271e2e5b5b 100644 (file)
@@ -7,13 +7,15 @@ package main
 import (
        "flag"
        "fmt"
+       "mime"
        "os"
 
-       "git.curoverse.com/arvados.git/lib/config"
-       "git.curoverse.com/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/lib/config"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
        "github.com/coreos/go-systemd/daemon"
+       "github.com/ghodss/yaml"
+       "github.com/sirupsen/logrus"
        log "github.com/sirupsen/logrus"
-       yaml "gopkg.in/yaml.v2"
 )
 
 var (
@@ -27,8 +29,7 @@ type Config struct {
        cluster *arvados.Cluster
 }
 
-// DefaultConfig returns the default configuration.
-func DefaultConfig(arvCfg *arvados.Config) *Config {
+func newConfig(arvCfg *arvados.Config) *Config {
        cfg := Config{}
        var cls *arvados.Cluster
        var err error
@@ -37,6 +38,7 @@ func DefaultConfig(arvCfg *arvados.Config) *Config {
        }
        cfg.cluster = cls
        cfg.Cache.config = &cfg.cluster.Collections.WebDAVCache
+       cfg.Cache.cluster = cls
        return &cfg
 }
 
@@ -79,7 +81,7 @@ func configure(logger log.FieldLogger, args []string) *Config {
        if err != nil {
                log.Fatal(err)
        }
-       cfg := DefaultConfig(arvCfg)
+       cfg := newConfig(arvCfg)
 
        if *dumpConfig {
                out, err := yaml.Marshal(cfg)
@@ -105,9 +107,13 @@ func main() {
 
        log.Printf("keep-web %s started", version)
 
+       if ext := ".txt"; mime.TypeByExtension(ext) == "" {
+               log.Warnf("cannot look up MIME type for %q -- this probably means /etc/mime.types is missing -- clients will see incorrect content types", ext)
+       }
+
        os.Setenv("ARVADOS_API_HOST", cfg.cluster.Services.Controller.ExternalURL.Host)
        srv := &server{Config: cfg}
-       if err := srv.Start(); err != nil {
+       if err := srv.Start(logrus.StandardLogger()); err != nil {
                log.Fatal(err)
        }
        if _, err := daemon.SdNotify(false, "READY=1"); err != nil {