traefik/docs/content/providers/etcd.md
Ludovic Fernandez 9b9f4be6a4 Add KV store providers (dynamic configuration only)
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-11-28 21:56:04 +01:00

3.4 KiB

Traefik & Etcd

A Story of KV store & Containers {: .subtitle }

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

Routing Configuration

See the dedicated section in routing.

Provider Configuration

endpoints

Required, Default="127.0.0.1:2379"

Defines how to access to Etcd.

[providers.etcd]
  endpoints = ["127.0.0.1:2379"]
providers:
  etcd:
    endpoints:
      - "127.0.0.1:2379"
--providers.etcd.endpoints=127.0.0.1:2379

rootKey

Defines the root key of the configuration.

Required, Default="traefik"

[providers.etcd]
  rootKey = "traefik"
providers:
  etcd:
    rootKey: "traefik"
--providers.etcd.rootkey=traefik

username

Defines a username to connect with Etcd.

Optional, Default=""

[providers.etcd]
  # ...
  username = "foo"
providers:
  etcd:
    # ...
    usename: "foo"
--providers.etcd.username=foo

password

Optional, Default=""

Defines a password to connect with Etcd.

[providers.etcd]
  # ...
  password = "bar"
providers:
  etcd:
    # ...
    password: "bar"
--providers.etcd.password=foo

tls

Optional

tls.ca

Certificate Authority used for the secured connection to Etcd.

[providers.etcd.tls]
  ca = "path/to/ca.crt"
providers:
  etcd:
    tls:
      ca: path/to/ca.crt
--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
[providers.etcd.tls]
  caOptional = true
providers:
  etcd:
    tls:
      caOptional: true
--providers.etcd.tls.caOptional=true

tls.cert

Public certificate used for the secured connection to Etcd.

[providers.etcd.tls]
  cert = "path/to/foo.cert"
  key = "path/to/foo.key"
providers:
  etcd:
    tls:
      cert: path/to/foo.cert
      key: path/to/foo.key
--providers.etcd.tls.cert=path/to/foo.cert
--providers.etcd.tls.key=path/to/foo.key

tls.key

Private certificate used for the secured connection to Etcd.

[providers.etcd.tls]
  cert = "path/to/foo.cert"
  key = "path/to/foo.key"
providers:
  etcd:
    tls:
      cert: path/to/foo.cert
      key: path/to/foo.key
--providers.etcd.tls.cert=path/to/foo.cert
--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.

[providers.etcd.tls]
  insecureSkipVerify = true
providers:
  etcd:
    tls:
      insecureSkipVerify: true
--providers.etcd.tls.insecureSkipVerify=true