| {%- from "etcd/map.jinja" import server with context %} |
| ## etcd(1) daemon options |
| ## See "/usr/share/doc/etcd/Documentation/configuration.md.gz". |
| |
| {%- if server.proxy is defined %} |
| |
| ### Proxy Flags |
| |
| ##### -proxy |
| ## Proxy mode setting ("off", "readonly" or "on"). |
| ## default: "off" |
| ETCD_PROXY="on" |
| |
| ETCD_INITIAL_CLUSTER="{% for member in server.members %}{{ member.name }}={%- if server.bind.host == '127.0.0.1' %}http://127.0.0.1:2380{% else %}http://{{ member.host }}:2380{% if not loop.last %},{% endif %}{% endif %}{% endfor %}" |
| |
| ##### -proxy-failure-wait |
| ## Time (in milliseconds) an endpoint will be held in a failed state before being |
| ## reconsidered for proxied requests. |
| ## default: 5000 |
| # ETCD_PROXY_FAILURE_WAIT="5000" |
| |
| ##### -proxy-refresh-interval |
| ## Time (in milliseconds) of the endpoints refresh interval. |
| ## default: 30000 |
| # ETCD_PROXY_REFRESH_INTERVAL="30000" |
| |
| ##### -proxy-dial-timeout |
| ## Time (in milliseconds) for a dial to timeout or 0 to disable the timeout |
| ## default: 1000 |
| # ETCD_PROXY_DIAL_TIMEOUT="1000" |
| |
| ##### -proxy-write-timeout |
| ## Time (in milliseconds) for a write to timeout or 0 to disable the timeout. |
| ## default: 5000 |
| # ETCD_PROXY_WRITE_TIMEOUT="5000" |
| |
| ##### -proxy-read-timeout |
| ## Time (in milliseconds) for a read to timeout or 0 to disable the timeout. |
| ## Don't change this value if you use watches because they are using long polling requests. |
| ## default: 0 |
| # ETCD_PROXY_READ_TIMEOUT="0" |
| |
| |
| {%- else %} |
| ### Member Flags |
| |
| ##### -name |
| ## Human-readable name for this member. |
| ## default: host name returned by `hostname`. |
| ## This value is referenced as this node's own entries listed in the `-initial-cluster` |
| ## flag (Ex: `default=http://localhost:2380` or `default=http://localhost:2380,default=http://localhost:7001`). |
| ## This needs to match the key used in the flag if you're using [static boostrapping](clustering.md#static). |
| # ETCD_NAME="hostname" |
| ETCD_NAME="{{ pillar.linux.system.name }}" |
| |
| ##### -data-dir |
| ## Path to the data directory. |
| # ETCD_DATA_DIR="/var/lib/etcd/default" |
| ETCD_DATA_DIR="/var/lib/etcd/default" |
| |
| ##### -wal-dir |
| ## Path to the dedicated wal directory. If this flag is set, etcd will write the |
| ## WAL files to the walDir rather than the dataDir. This allows a dedicated disk |
| ## to be used, and helps avoid io competition between logging and other IO operations. |
| ## default: "" |
| # ETCD_WAL_DIR |
| |
| ##### -snapshot-count |
| ## Number of committed transactions to trigger a snapshot to disk. |
| ## default: "10000" |
| # ETCD_SNAPSHOT_COUNT="10000" |
| |
| ##### -heartbeat-interval |
| ## Time (in milliseconds) of a heartbeat interval. |
| ## default: "100" |
| # ETCD_HEARTBEAT_INTERVAL="100" |
| |
| ##### -election-timeout |
| ## Time (in milliseconds) for an election to timeout. |
| ## See /usr/share/doc/etcd/Documentation/tuning.md |
| ## default: "1000" |
| # ETCD_ELECTION_TIMEOUT="1000" |
| |
| ##### -listen-peer-urls |
| ## List of URLs to listen on for peer traffic. This flag tells the etcd to accept |
| ## incoming requests from its peers on the specified scheme://IP:port combinations. |
| ## Scheme can be either http or https. If 0.0.0.0 is specified as the IP, etcd |
| ## listens to the given port on all interfaces. If an IP address is given as |
| ## well as a port, etcd will listen on the given port and interface. |
| ## Multiple URLs may be used to specify a number of addresses and ports to listen on. |
| ## The etcd will respond to requests from any of the listed addresses and ports. |
| ## example: "http://10.0.0.1:2380" |
| ## invalid example: "http://example.com:2380" (domain name is invalid for binding) |
| ## default: "http://localhost:2380,http://localhost:7001" |
| # ETCD_LISTEN_PEER_URLS="http://localhost:2380,http://localhost:7001" |
| ETCD_LISTEN_PEER_URLS="http://{{ server.bind.host }}:2380" |
| |
| ##### -listen-client-urls |
| ## List of URLs to listen on for client traffic. This flag tells the etcd to accept |
| ## incoming requests from the clients on the specified scheme://IP:port combinations. |
| ## Scheme can be either http or https. If 0.0.0.0 is specified as the IP, etcd |
| ## listens to the given port on all interfaces. If an IP address is given as |
| ## well as a port, etcd will listen on the given port and interface. |
| ## Multiple URLs may be used to specify a number of addresses and ports to listen on. |
| ## The etcd will respond to requests from any of the listed addresses and ports. |
| ## (ADVERTISE_CLIENT_URLS is required when LISTEN_CLIENT_URLS is set explicitly). |
| ## example: "http://10.0.0.1:2379" |
| ## invalid example: "http://example.com:2379" (domain name is invalid for binding) |
| ## default: "http://localhost:2379,http://localhost:4001" |
| # ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://localhost:4001" |
| ETCD_LISTEN_CLIENT_URLS="{%- if server.bind.host != '127.0.0.1' %}http://{{ server.bind.host }}:4001,{% endif %}http://127.0.0.1:4001" |
| ##### -max-snapshots |
| ## Maximum number of snapshot files to retain (0 is unlimited) |
| ## default: 5 |
| # ETCD_MAX_SNAPSHOTS="5" |
| |
| ##### -max-wals |
| ## Maximum number of wal files to retain (0 is unlimited) |
| ## default: 5 |
| # ETCD_MAX_WALS="5" |
| |
| ##### -cors |
| ## Comma-separated whitelist of origins for CORS (cross-origin resource sharing). |
| ## default: none |
| # ETCD_CORS |
| |
| ### Clustering Flags |
| ## For an explanation of the various ways to do cluster setup, see: |
| ## /usr/share/doc/etcd/Documentation/clustering.md.gz |
| ## |
| ## The command line parameters starting with -initial-cluster will be |
| ## ignored on subsequent runs of etcd as they are used only during initial |
| ## bootstrap process. |
| |
| ##### -initial-advertise-peer-urls |
| ## List of this member's peer URLs to advertise to the rest of the cluster. |
| ## These addresses are used for communicating etcd data around the cluster. |
| ## At least one must be routable to all cluster members. |
| ## These URLs can contain domain names. |
| ## example: "http://example.com:2380, http://10.0.0.1:2380" |
| ## default: "http://localhost:2380,http://localhost:7001" |
| # ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380,http://localhost:7001" |
| ETCD_INITIAL_ADVERTISE_PEER_URLS="http://{{ server.bind.host }}:2380" |
| |
| ##### -initial-cluster |
| ## initial cluster configuration for bootstrapping. |
| ## The key is the value of the `-name` flag for each node provided. |
| ## The default uses `default` for the key because this is the default for the `-name` flag. |
| ## default: "default=http://localhost:2380,default=http://localhost:7001" |
| # ETCD_INITIAL_CLUSTER="default=http://localhost:2380,default=http://localhost:7001" |
| ETCD_INITIAL_CLUSTER="{% for member in server.members %}{{ member.name }}={%- if server.bind.host == '127.0.0.1' %}http://127.0.0.1:2380{% else %}http://{{ member.host }}:2380{% if not loop.last %},{% endif %}{% endif %}{% endfor %}" |
| ##### -initial-cluster-state |
| ## Initial cluster state ("new" or "existing"). Set to `new` for all members |
| ## present during initial static or DNS bootstrapping. If this option is set to |
| ## `existing`, etcd will attempt to join the existing cluster. If the wrong |
| ## value is set, etcd will attempt to start but fail safely. |
| ## default: "new" |
| # ETCD_INITIAL_CLUSTER_STATE="existing" |
| ETCD_INITIAL_CLUSTER_STATE="new" |
| |
| ##### -initial-cluster-token |
| ## Initial cluster token for the etcd cluster during bootstrap. |
| ## If you are spinning up multiple clusters (or creating and destroying a |
| ## single cluster) with same configuration for testing purpose, it is highly |
| ## recommended that you specify a unique initial-cluster-token for the |
| ## different clusters. |
| ## default: "etcd-cluster" |
| # ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" |
| ETCD_INITIAL_CLUSTER_TOKEN="{{ server.token }}" |
| |
| ##### -advertise-client-urls |
| ## List of this member's client URLs to advertise to the rest of the cluster. |
| ## These URLs can contain domain names. |
| ## example: "http://example.com:2379, http://10.0.0.1:2379" |
| ## Be careful if you are advertising URLs such as http://localhost:2379 from a |
| ## cluster member and are using the proxy feature of etcd. This will cause loops, |
| ## because the proxy will be forwarding requests to itself until its resources |
| ## (memory, file descriptors) are eventually depleted. |
| ## default: "http://localhost:2379,http://localhost:4001" |
| # ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://localhost:4001" |
| ETCD_ADVERTISE_CLIENT_URLS="http://{{ server.bind.host }}:4001" |
| |
| ##### -discovery |
| ## Discovery URL used to bootstrap the cluster. |
| ## default: none |
| # ETCD_DISCOVERY |
| |
| ##### -discovery-srv |
| ## DNS srv domain used to bootstrap the cluster. |
| ## default: none |
| # ETCD_DISCOVERY_SRV |
| |
| ##### -discovery-fallback |
| ## Expected behavior ("exit" or "proxy") when discovery services fails. |
| ## default: "proxy" |
| # ETCD_DISCOVERY_FALLBACK="proxy" |
| |
| ##### -discovery-proxy |
| ## HTTP proxy to use for traffic to discovery service. |
| ## default: none |
| # ETCD_DISCOVERY_PROXY |
| |
| ### Security Flags |
| |
| ##### -ca-file [DEPRECATED] |
| ## Path to the client server TLS CA file. |
| ## default: none |
| # ETCD_CA_FILE="" |
| |
| ##### -cert-file |
| ## Path to the client server TLS cert file. |
| ## default: none |
| # ETCD_CERT_FILE="" |
| |
| ##### -key-file |
| ## Path to the client server TLS key file. |
| ## default: none |
| # ETCD_KEY_FILE="" |
| |
| ##### -client-cert-auth |
| ## Enable client cert authentication. |
| ## default: false |
| # ETCD_CLIENT_CERT_AUTH |
| |
| ##### -trusted-ca-file |
| ## Path to the client server TLS trusted CA key file. |
| ## default: none |
| # ETCD_TRUSTED_CA_FILE |
| |
| ##### -peer-ca-file [DEPRECATED] |
| ## Path to the peer server TLS CA file. `-peer-ca-file ca.crt` could be replaced |
| ## by `-peer-trusted-ca-file ca.crt -peer-client-cert-auth` and etcd will perform the same. |
| ## default: none |
| # ETCD_PEER_CA_FILE |
| |
| ##### -peer-cert-file |
| ## Path to the peer server TLS cert file. |
| ## default: none |
| # ETCD_PEER_CERT_FILE |
| |
| ##### -peer-key-file |
| ## Path to the peer server TLS key file. |
| ## default: none |
| # ETCD_PEER_KEY_FILE |
| |
| ##### -peer-client-cert-auth |
| ## Enable peer client cert authentication. |
| ## default: false |
| # ETCD_PEER_CLIENT_CERT_AUTH |
| |
| ##### -peer-trusted-ca-file |
| ## Path to the peer server TLS trusted CA file. |
| ## default: none |
| # ETCD_PEER_TRUSTED_CA_FILE |
| |
| ### Logging Flags |
| ##### -debug |
| ## Drop the default log level to DEBUG for all subpackages. |
| ## default: false (INFO for all packages) |
| # ETCD_DEBUG |
| |
| ##### -log-package-levels |
| ## Set individual etcd subpackages to specific log levels. |
| ## An example being `etcdserver=WARNING,security=DEBUG` |
| ## default: none (INFO for all packages) |
| # ETCD_LOG_PACKAGE_LEVELS |
| |
| |
| #### Daemon parameters: |
| # DAEMON_ARGS="" |
| {% endif %} |