## Member:

# Human-readable name for this member.
# ETCD_NAME="default"

# Path to the data directory.
# ETCD_DATA_DIR="${name}.etcd"

# Path to the dedicated wal directory.
# ETCD_WAL_DIR=""

# Number of committed transactions to trigger a snapshot to disk.
# ETCD_SNAPSHOT_COUNT="100000"

# Time (in milliseconds) of a heartbeat interval.
# ETCD_HEARTBEAT_INTERVAL="100"

# Time (in milliseconds) for an election to timeout. See tuning documentation for details.
# ETCD_ELECTION_TIMEOUT="1000"

# Whether to fast-forward initial election ticks on boot for faster election.
# ETCD_INITIAL_ELECTION_TICK_ADVANCE="true"

# List of URLs to listen on for peer traffic.
# ETCD_LISTEN_PEER_URLS="http://localhost:2380"

# List of URLs to listen on for client traffic.
# ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"

# Maximum number of snapshot files to retain (0 is unlimited).
# ETCD_MAX_SNAPSHOTS="5"

# Maximum number of wal files to retain (0 is unlimited).
# ETCD_MAX_WALS="5"

# Raise alarms when backend size exceeds the given quota (0 defaults to low space quota).
# ETCD_QUOTA_BACKEND_BYTES="0"

# BackendFreelistType specifies the type of freelist that boltdb backend uses(array and map are supported types).
# ETCD_BACKEND_BBOLT_FREELIST_TYPE="map"

# BackendBatchInterval is the maximum time before commit the backend transaction.
# ETCD_BACKEND_BATCH_INTERVAL=""

# BackendBatchLimit is the maximum operations before commit the backend transaction.
# ETCD_BACKEND_BATCH_LIMIT="0"

# Maximum number of operations permitted in a transaction.
# ETCD_MAX_TXN_OPS="128"

# Maximum client request size in bytes the server will accept.
# ETCD_MAX_REQUEST_BYTES="1572864"

# Maximum concurrent streams that each client can open at a time.
# ETCD_MAX_CONCURRENT_STREAMS="math.MaxUint32"

# Minimum duration interval that a client should wait before pinging server.
# ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"

# Frequency duration of server-to-client ping to check if a connection is alive (0 to disable).
# ETCD_GRPC_KEEPALIVE_INTERVAL="2h"

# Additional duration of wait before closing a non-responsive connection (0 to disable).
# ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"

# Enable to set socket option SO_REUSEPORT on listeners allowing rebinding of a port already in use.
# ETCD_SOCKET_REUSE_PORT="false"

# Enable to set socket option SO_REUSEADDR on listeners allowing binding to an address in TIME_WAIT state.
# ETCD_SOCKET_REUSE_ADDRESS="false"


## Clustering:

# List of this member's peer URLs to advertise to the rest of the cluster.
# ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"

# Initial cluster configuration for bootstrapping.
# ETCD_INITIAL_CLUSTER="default=http://localhost:2380"

# Initial cluster state ('new' or 'existing').
# ETCD_INITIAL_CLUSTER_STATE="new"

# Initial cluster token for the etcd cluster during bootstrap.
# Specifying this can protect you from unintended cross-cluster interaction when running multiple clusters.
# ETCD_INITIAL_CLUSTER_TOKEN="etcd_cluster"

# List of this member's client URLs to advertise to the public.
# The client URLs advertised should be accessible to machines that talk to etcd cluster. etcd client libraries parse these URLs to connect to the cluster.
# ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

# Discovery URL used to bootstrap the cluster.
# ETCD_DISCOVERY=""

# Expected behavior ('exit' or 'proxy') when discovery services fails.
# "proxy" supports v2 API only.
# ETCD_DISCOVERY_FALLBACK="proxy"

# HTTP proxy to use for traffic to discovery service.
# ETCD_DISCOVERY_PROXY=""

# DNS srv domain used to bootstrap the cluster.
# ETCD_DISCOVERY_SRV=""

# Suffix to the dns srv name queried when bootstrapping.
# ETCD_DISCOVERY_SRV_NAME=""

# Reject reconfiguration requests that would cause quorum loss.
# ETCD_STRICT_RECONFIG_CHECK="true"

# Enable to run an additional Raft election phase.
# ETCD_PRE_VOTE="true"

# Auto compaction retention length. 0 means disable auto compaction.
# ETCD_AUTO_COMPACTION_RETENTION="0"

# Interpret 'auto-compaction-retention' one of: periodic|revision. 'periodic' for duration based retention, defaulting to hours if no time unit is provided (e.g. '5m'). 'revision' for revision number based retention.
# ETCD_AUTO_COMPACTION_MODE="periodic"

# Accept etcd V2 client requests. Deprecated and to be decommissioned in v3.6.
# ETCD_ENABLE_V2="false"

# Phase of v2store deprecation. Allows to opt-in for higher compatibility mode.
# Supported values:
#   'not-yet'                // Issues a warning if v2store have meaningful content (default in v3.5)
#   'write-only'             // Custom v2 state is not allowed (planned default in v3.6)
#   'write-only-drop-data'   // Custom v2 state will get DELETED !
#   'gone'                   // v2store is not maintained any longer. (planned default in v3.7)
# ETCD_V2_DEPRECATION="not_yet"


## Security:

# Path to the client server TLS cert file.
# ETCD_CERT_FILE=""

# Path to the client server TLS key file.
# ETCD_KEY_FILE=""

# Enable client cert authentication.
# ETCD_CLIENT_CERT_AUTH="false"

# Path to the client certificate revocation list file.
# ETCD_CLIENT_CRL_FILE=""

# Allowed TLS hostname for client cert authentication.
# ETCD_CLIENT_CERT_ALLOWED_HOSTNAME=""

# Path to the client server TLS trusted CA cert file.
# ETCD_TRUSTED_CA_FILE=""

# Client TLS using generated certificates.
# ETCD_AUTO_TLS="false"

# Path to the peer server TLS cert file.
# ETCD_PEER_CERT_FILE=""

# Path to the peer server TLS key file.
# ETCD_PEER_KEY_FILE=""

# Enable peer client cert authentication.
# ETCD_PEER_CLIENT_CERT_AUTH="false"

# Path to the peer server TLS trusted CA file.
# ETCD_PEER_TRUSTED_CA_FILE=""

# Required CN for client certs connecting to the peer endpoint.
# ETCD_PEER_CERT_ALLOWED_CN=""

# Allowed TLS hostname for inter peer authentication.
# ETCD_PEER_CERT_ALLOWED_HOSTNAME=""

# Peer TLS using self-generated certificates if --peer-key-file and --peer-cert-file are not provided.
# ETCD_PEER_AUTO_TLS="false"

# The validity period of the client and peer certificates that are automatically generated by etcd when you specify ClientAutoTLS and PeerAutoTLS, the unit is year, and the default is 1.
# ETCD_SELF_SIGNED_CERT_VALIDITY="1"

# Path to the peer certificate revocation list file.
# ETCD_PEER_CRL_FILE=""

# Comma-separated list of supported TLS cipher suites between client/server and peers (empty will be auto-populated by Go).
# ETCD_CIPHER_SUITES=""

# Comma-separated whitelist of origins for CORS, or cross-origin resource sharing, (empty or * means allow all).
# ETCD_CORS="*"

# Acceptable hostnames from HTTP client requests, if server is not secure (empty or * means allow all).
# ETCD_HOST_WHITELIST="*"


## Auth:

# Specify a v3 authentication token type and its options ('simple' or 'jwt').
# ETCD_AUTH_TOKEN="simple"

# Specify the cost / strength of the bcrypt algorithm for hashing auth passwords. Valid values are between 4 and 31.
# ETCD_BCRYPT_COST="10"

# Time (in seconds) of the auth-token-ttl.
# ETCD_AUTH_TOKEN_TTL="300"


## Profiling and Monitoring:

# Enable runtime profiling data via HTTP server. Address is at client URL + "/debug/pprof/"
# ETCD_ENABLE_PPROF="false"

# Set level of detail for exported metrics, specify 'extensive' to include server side grpc histogram metrics.
# ETCD_METRICS="basic"

# List of URLs to listen on for the metrics and health endpoints.
# ETCD_LISTEN_METRICS_URLS=""


## Logging:

# Currently only supports 'zap' for structured logging.
# ETCD_LOGGER="zap"

# Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd, or list of comma separated output targets.
# ETCD_LOG_OUTPUTS="default"

# Configures log level. Only supports debug, info, warn, error, panic, or fatal.
# ETCD_LOG_LEVEL="info"

# Enable log rotation of a single log-outputs file target.
# ETCD_ENABLE_LOG_ROTATION="false"

# Configures log rotation if enabled with a JSON logger config. MaxSize(MB), MaxAge(days,0=no limit), MaxBackups(0=no limit), LocalTime(use computers local time), Compress(gzip)".
# ETCD_LOG_ROTATION_CONFIG_JSON="{\"maxsize\": 100, \"maxage\": 0, \"maxbackups\": 0, \"localtime\": false, \"compress\": false}"


## Experimental distributed tracing:

# Enable experimental distributed tracing.
# ETCD_EXPERIMENTAL_ENABLE_DISTRIBUTED_TRACING="false"

# Distributed tracing collector address.
# ETCD_EXPERIMENTAL_DISTRIBUTED_TRACING_ADDRESS="localhost:4317"

# Distributed tracing service name, must be same across all etcd instances.
# ETCD_EXPERIMENTAL_DISTRIBUTED_TRACING_SERVICE_NAME="etcd"

# Distributed tracing instance ID, must be unique per each etcd instance.
# ETCD_EXPERIMENTAL_DISTRIBUTED_TRACING_INSTANCE_ID=""


## v2 Proxy (to be deprecated in v3.6):

# Proxy mode setting ('off', 'readonly' or 'on').
# ETCD_PROXY="off"

# Time (in milliseconds) an endpoint will be held in a failed state.
# ETCD_PROXY_FAILURE_WAIT="5000"

# Time (in milliseconds) of the endpoints refresh interval.
# ETCD_PROXY_REFRESH_INTERVAL="30000"

# Time (in milliseconds) for a dial to timeout.
# ETCD_PROXY_DIAL_TIMEOUT="1000"

# Time (in milliseconds) for a write to timeout.
# ETCD_PROXY_WRITE_TIMEOUT="5000"

# Time (in milliseconds) for a read to timeout.
# ETCD_PROXY_READ_TIMEOUT="0"


## Experimental feature:

# Enable to check data corruption before serving any client/peer traffic.
# ETCD_EXPERIMENTAL_INITIAL_CORRUPT_CHECK="false"

# Duration of time between cluster corruption check passes.
# ETCD_EXPERIMENTAL_CORRUPT_CHECK_TIME="0s"

# Serve v2 requests through the v3 backend under a given prefix. Deprecated and to be decommissioned in v3.6.
# ETCD_EXPERIMENTAL_ENABLE_V2V3=""

# ExperimentalEnableLeaseCheckpoint enables primary lessor to persist lease remainingTTL to prevent indefinite auto-renewal of long lived leases.
# ETCD_EXPERIMENTAL_ENABLE_LEASE_CHECKPOINT="false"

# ExperimentalCompactionBatchLimit sets the maximum revisions deleted in each compaction batch.
# ETCD_EXPERIMENTAL_COMPACTION_BATCH_LIMIT="1000"

# Skip verification of SAN field in client certificate for peer connections.
# ETCD_EXPERIMENTAL_PEER_SKIP_CLIENT_SAN_VERIFICATION="false"

# Duration of periodical watch progress notification.
# ETCD_EXPERIMENTAL_WATCH_PROGRESS_NOTIFY_INTERVAL="10m"

# Warning is generated if requests take more than this duration.
# ETCD_EXPERIMENTAL_WARNING_APPLY_DURATION="100ms"

# Enable the write transaction to use a shared buffer in its readonly check operations.
# ETCD_EXPERIMENTAL_TXN_MODE_WRITE_WITH_SHARED_BUFFER="true"

# Enable the defrag during etcd server bootstrap on condition that it will free at least the provided threshold of disk space. Needs to be set to non-zero value to take effect.
# ETCD_EXPERIMENTAL_BOOTSTRAP_DEFRAG_THRESHOLD_MEGABYTES="0"


## Unsafe feature:
## CAUTIOUS with unsafe flag! It may break the guarantees given by the consensus protocol!

# Force to create a new one-member cluster.
# ETCD_FORCE_NEW_CLUSTER="false"

# Disables fsync, unsafe, will cause data loss.
# ETCD_UNSAFE_NO_FSYNC="false"
