Environment Variables
Several aspects of StorageOS behaviour can be controlled via environment variables. These can be injected in via any of the usual mechanisms such as ConfigMaps.
Variable Name | Valid in versions | Description |
---|---|---|
ADVERTISE_IP |
1.0+ | IP address of the node for incoming connections. Defaults to first non-loopback address |
API_PORT |
1.0+ | Port for the API to listen on. Defaults to 5705 (IANA Registered) |
CSI_ENDPOINT |
1.0+ | If set, CSI compatibility is enabled. Typically set to unix://var/lib/kubelet/plugins_registry/storageos/csi.sock . Default is unset |
CSI_VERSION |
1.1.0+ | Added in 1.1.0 to define what version of CSI to use. Can be set to v0 or v1 , defaults to v0 |
DESCRIPTION |
1.0+ | The node description for display purposes only. Default is unset |
DEVICE_DIR |
1.0+ | Where the volumes are exported. This directory must be shared into the container using the rshared volume mount option. Defaults to /var/lib/storageos/volumes |
DFS_PORT |
1.0+ | Port for DirectFS to listen on. Defaults to 5703 |
DISABLE_ERROR_REPORTING |
1.0+ | To disable error reporting across the cluster, set to true . Defaults to false . Errors are reported to help identify and resolve potential issues that may occur |
DISABLE_TCMU |
1.3+ | Prevents TCMU from being used. On systems where another program is already using TCMU this should be set to true . See System Configuration for more information. |
DISABLE_TELEMETRY |
1.0+ | To disable anonymous usage reporting across the cluster, set to true . Defaults to false . To help improve the product, data such as API usage and StorageOS configuration information is collected |
FORCE_TCMU |
1.3+ | Force the dataplane to use TCMU. If set to true StorageOS will not start if TCMU fails to start. |
HOSTNAME |
1.0+ | Hostname of the node, only if you wish to override it. In Kubernetes environments, typically set to spec.nodeName |
IN_K8S_CLUSTER |
1.0+ | Toggles enhanced Kubernetes integration. Defaults to true and will be disabled automatically if Kubernetes API is not accessible. Requires StorageOS to be deployed as a DaemonSet or Pod. |
JOIN |
1.0+ | Required A join token and/or list of cluster nodes to join. The first node will bootstrap the cluster. See cluster discovery. There is no default; this must be set for multiple-node clusters |
KUBECONFIG |
1.0+ | Path to local kubeconfig file. Not normally required. Default is unset |
KV_ADDR |
1.0+ | Comma separated list of etcd targets, in the form ip[:port]. Must be specified with KV_BACKEND=etcd . Prefer multiple direct endpoints over a single load-balanced endpoint |
KV_BACKEND |
1.0+ | Type of KV store to use. Defaults to embedded . etcd is supported with KV_ADDR set to an external etcd instance |
KV_CLIENT_PORT |
1.0+ | Port for the embedded Key/Value store. Defaults to 5706 |
KV_PEER_PORT |
1.0+ | Port for the embedded Key/Value store. Defaults to 5707 |
LABELS |
1.0+ | Comma separated list of node labels. e.g. LABELS=country=us,env=prod . Default is unset |
LOG_FILTER |
1.0+ | Used to discard log messages based on category. e.g. LOG_FILTER=cp=info,dp=info,etcd=debug . Default is unset |
LOG_FORMAT |
1.0+ | Logging output format, one of text or json . Defaults to json |
LOG_LEVEL |
1.0+ | One of debug , info , warning or error . Defaults to info |
NAMESPACE |
1.0+ | The orchestrator namespace that StorageOS is running in. Used as the location to store encryption keys in. Defaults to storageos |
NATS_CLUSTER_PORT |
1.0+ | Port for the NATS cluster service to listen on. Defaults to 5710 |
NATS_HTTP_PORT |
1.0+ | Port for the NATS HTTP server to listen on. Defaults to 5709 |
NATS_PORT |
1.0+ | Port for NATS messaging to listen on. Defaults to 5708 |
PASSWORD |
1.0+ | Password to authenticate to the API with. Defaults to storageos |
PROBE_INTERVAL |
1.1.2+ | The interval between node probes. Takes a time duration in string format e.g. 500ms or 2s . Setting this lower (more frequent) will cause the cluster to detect failed nodes more quickly at the expense of increased bandwidth usage. Defaults to 1000ms. Added in 1.1.2 replacing PROBE_INTERVAL_MS |
PROBE_INTERVAL_MS |
1.1.1 | The interval in milliseconds between node probes. Setting this lower (more frequent) will cause the cluster to detect failed nodes more quickly at the expense of increased bandwidth usage. Defaults to 1000ms. Added in 1.1.1 and deprecated in 1.1.2 See PROBE_INTERVAL |
PROBE_TIMEOUT |
1.1.2+ | The timeout to wait for an ack from a probed node before assuming it is unhealthy. Takes a time duration in string format e.g. 500ms or 2s . This should be set to 99-percentile of RTT (round-trip time) on your network. Defaults to 3000ms. Added in 1.1.2 replacing PROBE_TIMEOUT_MS |
PROBE_TIMEOUT_MS |
1.1.1 | The timeout to wait for an ack from a probed node before assuming it is unhealthy. This should be set to 99-percentile of RTT (round-trip time) on your network. Defaults to 3000ms. Added in 1.1.1 and deprecated in 1.1.2 See PROBE_TIMEOUT |
SERF_PORT |
1.0+ | Port for the Serf protocol to listen on. Defaults to 5711 |
TLS_ETCD_CA |
1.2.0 | The file path to the etcd server Certificate Authority certificate. The certificate should be mounted into the container using a Secret. See etcd TLS |
TLS_ETCD_CLIENT_CERT |
1.2.0 | The file path to the etcd server client certificate. The certificate should be mounted into the container using a Secret. See etcd TLS |
TLS_ETCD_CLIENT_KEY |
1.2.0 | The file path to the etcd server client key. The certificate should be mounted into the container using a Secret. See etcd TLS |
USERNAME |
1.0+ | Username to authenticate to the API with. Defaults to storageos |