mirror of https://github.com/status-im/consul.git
84 lines
3.7 KiB
Plaintext
84 lines
3.7 KiB
Plaintext
|
---
|
||
|
layout: docs
|
||
|
page_title: Configuration
|
||
|
description: >-
|
||
|
The agent has various configuration options that can be specified via the
|
||
|
command-line or via configuration files. All of the configuration options are
|
||
|
completely optional. Defaults are specified with their descriptions.
|
||
|
---
|
||
|
|
||
|
# Configuration
|
||
|
|
||
|
The agent has various configuration options that can be specified via
|
||
|
the command-line or via configuration files. All of the configuration
|
||
|
options are completely optional. Defaults are specified with their
|
||
|
descriptions.
|
||
|
|
||
|
Configuration precedence is evaluated in the following order:
|
||
|
|
||
|
1. [Command line arguments](/docs/agent/config/cli-flags)
|
||
|
2. [Configuration files](/docs/agent/config/config-files)
|
||
|
|
||
|
When loading configuration, Consul loads the configuration from files and
|
||
|
directories in lexical order. For example, configuration file
|
||
|
`basic_config.json` will be processed before `extra_config.json`. Configuration
|
||
|
can be in either [HCL](https://github.com/hashicorp/hcl#syntax) or JSON format.
|
||
|
Available in Consul 1.0 and later, the HCL support now requires an `.hcl` or
|
||
|
`.json` extension on all configuration files in order to specify their format.
|
||
|
|
||
|
Configuration specified later will be merged into configuration specified
|
||
|
earlier. In most cases, "merge" means that the later version will override the
|
||
|
earlier. In some cases, such as event handlers, merging appends the handlers to
|
||
|
the existing configuration. The exact merging behavior is specified for each
|
||
|
option below.
|
||
|
|
||
|
Consul also supports reloading configuration when it receives the
|
||
|
SIGHUP signal. Not all changes are respected, but those that are
|
||
|
documented below in the
|
||
|
[Reloadable Configuration](#reloadable-configuration) section. The
|
||
|
[reload command](/commands/reload) can also be used to trigger a
|
||
|
configuration reload.
|
||
|
|
||
|
You can test the following configuration options by following the
|
||
|
[Getting Started](https://learn.hashicorp.com/tutorials/consul/get-started-install?utm_source=consul.io&utm_medium=docs)
|
||
|
tutorials to install a local agent.
|
||
|
|
||
|
## Ports Used
|
||
|
|
||
|
Consul requires up to 6 different ports to work properly, some on
|
||
|
TCP, UDP, or both protocols.
|
||
|
|
||
|
Review the [required ports](/docs/install/ports) table for a list of
|
||
|
required ports and their default settings.
|
||
|
|
||
|
## Reloadable Configuration
|
||
|
|
||
|
Reloading configuration does not reload all configuration items. The
|
||
|
items which are reloaded include:
|
||
|
|
||
|
- ACL Tokens
|
||
|
- [Configuration Entry Bootstrap](/docs/agent/config/config-files#config_entries_bootstrap)
|
||
|
- Checks
|
||
|
- [Discard Check Output](/docs/agent/config/config-files#discard_check_output)
|
||
|
- HTTP Client Address
|
||
|
- Log level
|
||
|
- [Metric Prefix Filter](/docs/agent/config/config-files#telemetry-prefix_filter)
|
||
|
- [Node Metadata](/docs/agent/config/config-files#node_meta)
|
||
|
- Some Raft options (since Consul 1.10.0)
|
||
|
- [`raft_snapshot_threshold`](/docs/agent/config/config-files#_raft_snapshot_threshold)
|
||
|
- [`raft_snapshot_interval`](/docs/agent/config/config-files#_raft_snapshot_interval)
|
||
|
- [`raft_trailing_logs`](/docs/agent/config/config-files#_raft_trailing_logs)
|
||
|
- These can be important in certain outage situations so being able to control
|
||
|
them without a restart provides a recovery path that doesn't involve
|
||
|
downtime. They generally shouldn't be changed otherwise.
|
||
|
- [RPC rate limiting](/docs/agent/config/config-files#limits)
|
||
|
- [HTTP Maximum Connections per Client](/docs/agent/config/config-files#http_max_conns_per_client)
|
||
|
- Services
|
||
|
- TLS Configuration
|
||
|
- Please be aware that this is currently limited to reload a configuration that is already TLS enabled. You cannot enable or disable TLS only with reloading.
|
||
|
- Watches
|
||
|
|
||
|
<!-- list of reference-style links -->
|
||
|
|
||
|
[go-sockaddr]: https://godoc.org/github.com/hashicorp/go-sockaddr/template
|