Consul Operator Autopilot
Command: consul operator autopilot
The Autopilot operator command is used to interact with Consul's Autopilot subsystem. The command can be used to view or modify the current Autopilot configuration. See the Autopilot Guide for more information about Autopilot.
Usage: consul operator autopilot <subcommand> [options]The Autopilot operator command is used to interact with Consul's Autopilotsubsystem. The command can be used to view or modify the current configuration.Subcommands: get-config Display the current Autopilot configuration set-config Modify the current Autopilot configuration
get-config
Corresponding HTTP API Endpoint: [GET] /v1/operator/autopilot/configuration
This command displays the current autopilot configuration.
The table below shows this command's required ACLs. Configuration of blocking queries and agent caching are not supported from commands, but may be from the corresponding HTTP endpoint.
ACL Required |
---|
operator:read |
Usage: consul operator autopilot get-config [options]
Sample Output
$ consul operator autopilot get-configCleanupDeadServers = trueLastContactThreshold = 200msMaxTrailingLogs = 250ServerStabilizationTime = 10sRedundancyZoneTag = ""DisableUpgradeMigration = falseUpgradeMigrationTag = ""
API Options
-ca-file=<value>
- Path to a CA file to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CACERT
environment variable.-ca-path=<value>
- Path to a directory of CA certificates to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CAPATH
environment variable.-client-cert=<value>
- Path to a client cert file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_CERT
environment variable.-client-key=<value>
- Path to a client key file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_KEY
environment variable.-http-addr=<addr>
- Address of the Consul agent with the port. This can be an IP address or DNS address, but it must include the port. This can also be specified via theCONSUL_HTTP_ADDR
environment variable. In Consul 0.8 and later, the default value is http://127.0.0.1:8500, and https can optionally be used instead. The scheme can also be set to HTTPS by setting the environment variableCONSUL_HTTP_SSL=true
. This may be a unix domain socket usingunix:///path/to/socket
if the agent is configured to listen that way.-tls-server-name=<value>
- The server name to use as the SNI host when connecting via TLS. This can also be specified via theCONSUL_TLS_SERVER_NAME
environment variable.-token=<value>
- ACL token to use in the request. This can also be specified via theCONSUL_HTTP_TOKEN
environment variable. If unspecified, the query will default to the token of the Consul agent at the HTTP address.-token-file=<value>
- File containing the ACL token to use in the request instead of one specified via the-token
argument orCONSUL_HTTP_TOKEN
environment variable. This can also be specified via theCONSUL_HTTP_TOKEN_FILE
environment variable.
-datacenter=<name>
- Name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent at the HTTP address.-stale
- Permit any Consul server (non-leader) to respond to this request. This allows for lower latency and higher throughput, but can result in stale data. This option has no effect on non-read operations. The default value is false.
set-config
Corresponding HTTP API Endpoint: [PUT] /v1/operator/autopilot/configuration
Modifies the current Autopilot configuration.
The table below shows this command's required ACLs. Configuration of blocking queries and agent caching are not supported from commands, but may be from the corresponding HTTP endpoint.
ACL Required |
---|
operator:write |
Usage: consul operator autopilot set-config [options]
Sample Output
$ consul operator autopilot set-config -min-quorum=3Configuration updated!
The return code indicates success or failure.
Command Options
-cleanup-dead-servers
- Specifies whether to enable automatic removal of dead servers upon the successful joining of new servers to the cluster. Must be one of[true|false]
.-last-contact-threshold
- Controls the maximum amount of time a server can go without contact from the leader before being considered unhealthy. Must be a duration value such as200ms
.-max-trailing-logs
- Controls the maximum number of log entries that a server can trail the leader by before being considered unhealthy.-min-quorum
- Sets the minimum number of servers required in a cluster before autopilot is allowed to prune dead servers.-server-stabilization-time
- Controls the minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster. Only takes effect if all servers are running Raft protocol version 3 or higher. Must be a duration value such as10s
.-disable-upgrade-migration
Enterprise - Controls whether Consul will avoid promoting new servers until it can perform a migration. Must be one of[true|false]
.-redundancy-zone-tag
Enterprise - Controls the-node-meta
key name used for separating servers into different redundancy zones.-upgrade-version-tag
Enterprise - Controls the-node-meta
tag to use for version info when performing upgrade migrations. If left blank, the Consul version will be used.
API Options
-ca-file=<value>
- Path to a CA file to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CACERT
environment variable.-ca-path=<value>
- Path to a directory of CA certificates to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CAPATH
environment variable.-client-cert=<value>
- Path to a client cert file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_CERT
environment variable.-client-key=<value>
- Path to a client key file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_KEY
environment variable.-http-addr=<addr>
- Address of the Consul agent with the port. This can be an IP address or DNS address, but it must include the port. This can also be specified via theCONSUL_HTTP_ADDR
environment variable. In Consul 0.8 and later, the default value is http://127.0.0.1:8500, and https can optionally be used instead. The scheme can also be set to HTTPS by setting the environment variableCONSUL_HTTP_SSL=true
. This may be a unix domain socket usingunix:///path/to/socket
if the agent is configured to listen that way.-tls-server-name=<value>
- The server name to use as the SNI host when connecting via TLS. This can also be specified via theCONSUL_TLS_SERVER_NAME
environment variable.-token=<value>
- ACL token to use in the request. This can also be specified via theCONSUL_HTTP_TOKEN
environment variable. If unspecified, the query will default to the token of the Consul agent at the HTTP address.-token-file=<value>
- File containing the ACL token to use in the request instead of one specified via the-token
argument orCONSUL_HTTP_TOKEN
environment variable. This can also be specified via theCONSUL_HTTP_TOKEN_FILE
environment variable.
-datacenter=<name>
- Name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent at the HTTP address.-stale
- Permit any Consul server (non-leader) to respond to this request. This allows for lower latency and higher throughput, but can result in stale data. This option has no effect on non-read operations. The default value is false.
state
Corresponding HTTP API Endpoint: [GET] /v1/operator/autopilot/state
This command displays the current autopilot state.
The table below shows this command's required ACLs. Configuration of blocking queries and agent caching are not supported from commands, but may be from the corresponding HTTP endpoint.
ACL Required |
---|
operator:read |
Usage: consul operator autopilot state [options]
API Options
-ca-file=<value>
- Path to a CA file to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CACERT
environment variable.-ca-path=<value>
- Path to a directory of CA certificates to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CAPATH
environment variable.-client-cert=<value>
- Path to a client cert file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_CERT
environment variable.-client-key=<value>
- Path to a client key file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_KEY
environment variable.-http-addr=<addr>
- Address of the Consul agent with the port. This can be an IP address or DNS address, but it must include the port. This can also be specified via theCONSUL_HTTP_ADDR
environment variable. In Consul 0.8 and later, the default value is http://127.0.0.1:8500, and https can optionally be used instead. The scheme can also be set to HTTPS by setting the environment variableCONSUL_HTTP_SSL=true
. This may be a unix domain socket usingunix:///path/to/socket
if the agent is configured to listen that way.-tls-server-name=<value>
- The server name to use as the SNI host when connecting via TLS. This can also be specified via theCONSUL_TLS_SERVER_NAME
environment variable.-token=<value>
- ACL token to use in the request. This can also be specified via theCONSUL_HTTP_TOKEN
environment variable. If unspecified, the query will default to the token of the Consul agent at the HTTP address.-token-file=<value>
- File containing the ACL token to use in the request instead of one specified via the-token
argument orCONSUL_HTTP_TOKEN
environment variable. This can also be specified via theCONSUL_HTTP_TOKEN_FILE
environment variable.
-datacenter=<name>
- Name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent at the HTTP address.-stale
- Permit any Consul server (non-leader) to respond to this request. This allows for lower latency and higher throughput, but can result in stale data. This option has no effect on non-read operations. The default value is false.
Command Options
-format
- Specifies the output format. Must be one of[pretty|json]
and it defaults topretty
.
Command Output
$ consul operator autopilot stateHealthy: trueFailure Tolerance: 1Optimistic Failure Tolerance: 0Leader: 79324811-9588-4311-b208-f272e38aaabfVoters: 79324811-9588-4311-b208-f272e38aaabf ef8aee9a-f9d6-4ec4-b383-aac956bdb80f ae84aefb-a303-4734-8739-5c102d4ee2d9Servers: 79324811-9588-4311-b208-f272e38aaabf Name: node1 Address: 198.18.0.1:8300 Version: 1.9.0 Status: leader Node Type: voter Node Status: alive Healthy: true Last Contact: 0s Last Term: 3 Last Index: 42 Meta "foo": "bar" ae84aefb-a303-4734-8739-5c102d4ee2d9 Name: node3 Address: 198.18.0.3:8300 Version: 1.9.0 Status: voter Node Type: voter Node Status: alive Healthy: true Last Contact: 2ms Last Term: 3 Last Index: 39 Meta "baz": "foo" ef8aee9a-f9d6-4ec4-b383-aac956bdb80f Name: node2 Address: 198.18.0.2:8300 Version: 1.9.0 Status: voter Node Type: voter Node Status: alive Healthy: true Last Contact: 1ms Last Term: 3 Last Index: 41 Meta "bar": "baz"