+// 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.
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:
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)
}