Merge branch '14259-pysdk-remote-block-copy'
[arvados.git] / services / keepstore / usage.go
index 748ef3865407e0ffa307c565690da57d396913ba..8e83f6ce5f02c33182f40f89d42c0d7e3d4b59b7 100644 (file)
@@ -1,22 +1,32 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
        "flag"
        "fmt"
        "os"
+       "sort"
+       "strings"
 
        "github.com/ghodss/yaml"
 )
 
 func usage() {
        c := DefaultConfig()
+       knownTypes := []string{}
        for _, vt := range VolumeTypes {
                c.Volumes = append(c.Volumes, vt().Examples()...)
+               knownTypes = append(knownTypes, vt().Type())
        }
        exampleConfigFile, err := yaml.Marshal(c)
        if err != nil {
                panic(err)
        }
+       sort.Strings(knownTypes)
+       knownTypeList := strings.Join(knownTypes, ", ")
        fmt.Fprintf(os.Stderr, `
 
 keepstore provides a content-addressed data store backed by a local filesystem or networked storage.
@@ -38,9 +48,13 @@ Example config file:
 
 Listen:
 
-    Local port to listen on. Can be "address", "address:port", or
-    ":port", where "address" is a host IP address or name and "port"
-    is a port number or name.
+    Local port to listen on. Can be "address:port" or ":port", where
+    "address" is a host IP address or name and "port" is a port number
+    or name.
+
+LogFormat:
+
+    Format of request/response and error logs: "json" or "text".
 
 PIDFile:
 
@@ -104,11 +118,45 @@ TrashCheckInterval:
     How often to check for (and delete) trashed blocks whose
     TrashLifetime has expired.
 
+TrashWorkers:
+
+    Maximum number of concurrent trash operations. Default is 1, i.e.,
+    trash lists are processed serially.
+
+EmptyTrashWorkers:
+
+    Maximum number of concurrent block deletion operations (per
+    volume) when emptying trash. Default is 1.
+
+PullWorkers:
+
+    Maximum number of concurrent pull operations. Default is 1, i.e.,
+    pull lists are processed serially.
+
+TLSCertificateFile:
+
+    Path to server certificate file in X509 format. Enables TLS mode.
+
+    Example: /var/lib/acme/live/keep0.example.com/fullchain
+
+TLSKeyFile:
+
+    Path to server key file in X509 format. Enables TLS mode.
+
+    The key pair is read from disk during startup, and whenever SIGHUP
+    is received.
+
+    Example: /var/lib/acme/live/keep0.example.com/privkey
+
 Volumes:
 
     List of storage volumes. If omitted or empty, the default is to
     use all directories named "keep" that exist in the top level
     directory of a mount point at startup time.
 
-`, exampleConfigFile)
+    Volume types: %s
+
+    (See volume configuration examples above.)
+
+`, exampleConfigFile, knownTypeList)
 }