New static configuration loading system.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
This commit is contained in:
parent
d18edd6f77
commit
8d7eccad5d
165 changed files with 10894 additions and 6076 deletions
|
@ -33,31 +33,23 @@ Traefik gets its _dynamic configuration_ from [providers](../providers/overview.
|
|||
|
||||
## The Static Configuration
|
||||
|
||||
There are three different locations where you can define static configuration options in Traefik:
|
||||
There are three different, mutually exclusive, ways to define static configuration options in Traefik:
|
||||
|
||||
- In a key-value store
|
||||
- In the command-line arguments
|
||||
- In a configuration file
|
||||
- As environment variables
|
||||
- In the command-line arguments
|
||||
|
||||
If you don't provide a value for a given option, default values apply.
|
||||
These ways are evaluated in the order listed above.
|
||||
|
||||
!!! important "Precedence Order"
|
||||
|
||||
The following precedence order applies for configuration options: key-value > command-line > configuration file.
|
||||
If no value was provided for a given option, a default value applies.
|
||||
Moreover, if an option has sub-options, and any of these sub-options is not specified, a default value will apply as well.
|
||||
|
||||
It means that arguments override configuration file, and key-value store overrides arguments.
|
||||
|
||||
!!! important "Default Values"
|
||||
|
||||
Some root options are enablers: they set default values for all their children.
|
||||
|
||||
For example, the `--providers.docker` option enables the docker provider.
|
||||
Once positioned, this option sets (and resets) all the default values under the root `providers.docker`.
|
||||
If you define child options using a lesser precedence configuration source, they will be overwritten by the default values.
|
||||
For example, the `--providers.docker` option is enough by itself to enable the docker provider, even though sub-options like `--providers.docker.endpoint` exist.
|
||||
Once positioned, this option sets (and resets) all the default values of the sub-options of `--providers.docker`.
|
||||
|
||||
### Configuration File
|
||||
|
||||
At startup, Traefik searches for a file named `traefik.toml` in `/etc/traefik/`, `$HOME/.traefik/`, and `.` (_the working directory_).
|
||||
At startup, Traefik searches for a file named `traefik.toml` in `/etc/traefik/`, `$XDG_CONFIG_HOME/`, `$HOME/.config/`, and `.` (_the working directory_).
|
||||
|
||||
You can override this using the `configFile` argument.
|
||||
|
||||
|
@ -67,16 +59,16 @@ traefik --configFile=foo/bar/myconfigfile.toml
|
|||
|
||||
### Arguments
|
||||
|
||||
Use `traefik --help` to get the list of the available arguments.
|
||||
To get the list of all available arguments:
|
||||
|
||||
### Key-Value Stores
|
||||
```bash
|
||||
traefik --help
|
||||
|
||||
Traefik supports several Key-value stores:
|
||||
# or
|
||||
|
||||
- [Consul](https://consul.io)
|
||||
- [etcd](https://coreos.com/etcd/)
|
||||
- [ZooKeeper](https://zookeeper.apache.org/)
|
||||
- [boltdb](https://github.com/boltdb/bolt)
|
||||
docker run traefik[:version] --help
|
||||
# ex: docker run traefik:2.0 --help
|
||||
```
|
||||
|
||||
## Available Configuration Options
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue