Traefik & Etcd

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

    See the dedicated section in routing.

    Provider Configuration

    Required, Default=”127.0.0.1:2379”

    Defines how to access to Etcd.

    File (TOML)

    File (YAML)

    1. providers:
    2. etcd:
    3. endpoints:
    4. - "127.0.0.1:2379"

    CLI

    1. --providers.etcd.endpoints=127.0.0.1:2379

    Defines the root key of the configuration.

    Required, Default=”traefik”

    File (TOML)

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

    File (YAML)

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

    CLI

    1. --providers.etcd.rootkey=traefik

    Defines a username to connect with Etcd.

    Optional, Default=””

    1. [providers.etcd]
    2. # ...

    File (YAML)

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

    CLI

    1. --providers.etcd.username=foo

    Optional, Default=””

    Defines a password to connect with Etcd.

    File (TOML)

    File (YAML)

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

    CLI

    1. --providers.etcd.password=foo

    Optional

    tls.ca

    Certificate Authority used for the secured connection to Etcd.

    File (TOML)

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

    File (YAML)

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

    CLI

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

    tls.caOptional

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

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

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

    File (YAML)

    1. providers:
    2. etcd:
    3. tls:

    CLI

    tls.cert

    Public certificate used for the secured connection to Etcd.

    File (TOML)

    File (YAML)

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

    CLI

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

    tls.key

    Private certificate used for the secured connection to Etcd.

    File (TOML)

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

    File (YAML)

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

    CLI

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

    tls.insecureSkipVerify

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

    File (TOML)

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

    File (YAML)

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

    CLI