Merge branch '8784-dir-listings'
[arvados.git] / services / keepstore / usage.go
index 748ef3865407e0ffa307c565690da57d396913ba..5f6fd90a1cda96bd41f0039d9b5be491c39a050b 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:
 
@@ -110,5 +124,9 @@ Volumes:
     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)
 }