Traefik & Etcd¶
A Story of KV store & Containers
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:2379rootKey¶
Defines the root key of the configuration.
Required, Default="traefik"
[providers.etcd]
rootKey = "traefik"providers:
etcd:
rootKey: "traefik"--providers.etcd.rootkey=traefikusername¶
Defines a username to connect with Etcd.
Optional, Default=""
[providers.etcd]
# ...
username = "foo"providers:
etcd:
# ...
usename: "foo"--providers.etcd.username=foopassword¶
Optional, Default=""
Defines a password to connect with Etcd.
[providers.etcd]
# ...
password = "bar"providers:
etcd:
# ...
password: "bar"--providers.etcd.password=footls¶
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.crttls.caOptional¶
Policy followed for the secured connection with TLS Client Authentication to Etcd.
Requires tls.ca to be defined.
true: VerifyClientCertIfGivenfalse: RequireAndVerifyClientCert- if
tls.cais undefined NoClientCert
[providers.etcd.tls]
caOptional = trueproviders:
etcd:
tls:
caOptional: true--providers.etcd.tls.caOptional=truetls.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.keytls.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.keytls.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 = trueproviders:
etcd:
tls:
insecureSkipVerify: true--providers.etcd.tls.insecureSkipVerify=true