Traefik & Consul

    Store your configuration in Consul and let Traefik do the rest!

    See the dedicated section in routing.

    Provider Configuration

    Required, Default=”127.0.0.1:8500”

    Defines how to access to Consul.

    File (TOML)

    File (YAML)

    1. providers:
    2. consul:
    3. endpoints:
    4. - "127.0.0.1:8500"

    CLI

    1. --providers.consul.endpoints=127.0.0.1:8500

    Defines the root key of the configuration.

    Required, Default=”traefik”

    File (TOML)

    1. [providers.consul]
    2. rootKey = "traefik"

    File (YAML)

    1. providers:
    2. consul:
    3. rootKey: "traefik"

    CLI

    1. --providers.consul.rootkey=traefik

    Defines a username to connect with Consul.

    Optional, Default=””

    1. [providers.consul]
    2. # ...

    File (YAML)

    1. providers:
    2. consul:
    3. usename: "foo"

    CLI

    1. --providers.consul.username=foo

    Optional, Default=””

    Defines a password to connect with Consul.

    File (TOML)

    File (YAML)

    1. providers:
    2. consul:
    3. # ...
    4. password: "bar"

    CLI

    1. --providers.consul.password=foo

    Optional

    tls.ca

    Certificate Authority used for the secured connection to Consul.

    File (TOML)

    1. [providers.consul.tls]
    2. ca = "path/to/ca.crt"

    File (YAML)

    1. providers:
    2. consul:
    3. tls:
    4. ca: path/to/ca.crt

    CLI

    1. --providers.consul.tls.ca=path/to/ca.crt

    tls.caOptional

    Policy followed for the secured connection with TLS Client Authentication to Consul. Requires tls.ca to be defined.

    • true: VerifyClientCertIfGiven
    • false: RequireAndVerifyClientCert
    • if tls.ca is undefined NoClientCert

    1. [providers.consul.tls]
    2. caOptional = true

    File (YAML)

    1. providers:
    2. consul:
    3. tls:

    CLI

    tls.cert

    Public certificate used for the secured connection to Consul.

    File (TOML)

    File (YAML)

    1. providers:
    2. consul:
    3. tls:
    4. cert: path/to/foo.cert
    5. key: path/to/foo.key

    CLI

    1. --providers.consul.tls.cert=path/to/foo.cert
    2. --providers.consul.tls.key=path/to/foo.key

    tls.key

    Private certificate used for the secured connection to Consul.

    File (TOML)

    1. [providers.consul.tls]
    2. cert = "path/to/foo.cert"
    3. key = "path/to/foo.key"

    File (YAML)

    1. providers:
    2. consul:
    3. tls:
    4. cert: path/to/foo.cert
    5. key: path/to/foo.key

    CLI

    1. --providers.consul.tls.cert=path/to/foo.cert
    2. --providers.consul.tls.key=path/to/foo.key

    tls.insecureSkipVerify

    If insecureSkipVerify is true, TLS for the connection to Consul accepts any certificate presented by the server and any host name in that certificate.

    File (TOML)

    1. [providers.consul.tls]
    2. insecureSkipVerify = true

    File (YAML)

    1. providers:
    2. consul:
    3. tls:
    4. insecureSkipVerify: true

    CLI