mirror of https://github.com/status-im/consul.git
84 lines
3.3 KiB
Plaintext
84 lines
3.3 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
|
|
2. Configuration 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](#config_entries_bootstrap)
|
|
- Checks
|
|
- [Discard Check Output](#discard_check_output)
|
|
- HTTP Client Address
|
|
- Log level
|
|
- [Metric Prefix Filter](#telemetry-prefix_filter)
|
|
- [Node Metadata](#node_meta)
|
|
- Some Raft options (since Consul 1.10.0)
|
|
- [`raft_snapshot_threshold`](#_raft_snapshot_threshold)
|
|
- [`raft_snapshot_interval`](#_raft_snapshot_interval)
|
|
- [`raft_trailing_logs`](#_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](#limits)
|
|
- [HTTP Maximum Connections per Client](#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
|