Co-authored-by: Tom Moulard <tom.moulard@traefik.io>
3.9 KiB
Traefik & Redis
A Story of KV store & Containers {: .subtitle }
Store your configuration in Redis and let Traefik do the rest!
Routing Configuration
See the dedicated section in routing.
Provider Configuration
endpoints
Required, Default="127.0.0.1:6379"
Defines how to access to Redis.
providers:
redis:
endpoints:
- "127.0.0.1:6379"
[providers.redis]
endpoints = ["127.0.0.1:6379"]
--providers.redis.endpoints=127.0.0.1:6379
rootKey
Required, Default="traefik"
Defines the root key of the configuration.
providers:
redis:
rootKey: "traefik"
[providers.redis]
rootKey = "traefik"
--providers.redis.rootkey=traefik
username
Optional, Default=""
Defines a username to connect with Redis.
providers:
redis:
# ...
username: "foo"
[providers.redis]
# ...
username = "foo"
--providers.redis.username=foo
password
Optional, Default=""
Defines a password to connect with Redis.
providers:
redis:
# ...
password: "bar"
[providers.redis]
# ...
password = "bar"
--providers.redis.password=foo
tls
Optional
tls.ca
Certificate Authority used for the secure connection to Redis, defaults to the system bundle.
providers:
redis:
tls:
ca: path/to/ca.crt
[providers.redis.tls]
ca = "path/to/ca.crt"
--providers.redis.tls.ca=path/to/ca.crt
tls.caOptional
The value of tls.caOptional
defines which policy should be used for the secure connection with TLS Client Authentication to Redis.
!!! warning ""
If `tls.ca` is undefined, this option will be ignored, and no client certificate will be requested during the handshake. Any provided certificate will thus never be verified.
When this option is set to true
, a client certificate is requested during the handshake but is not required. If a certificate is sent, it is required to be valid.
When this option is set to false
, a client certificate is requested during the handshake, and at least one valid certificate should be sent by the client.
providers:
redis:
tls:
caOptional: true
[providers.redis.tls]
caOptional = true
--providers.redis.tls.caOptional=true
tls.cert
Public certificate used for the secure connection to Redis.
providers:
redis:
tls:
cert: path/to/foo.cert
key: path/to/foo.key
[providers.redis.tls]
cert = "path/to/foo.cert"
key = "path/to/foo.key"
--providers.redis.tls.cert=path/to/foo.cert
--providers.redis.tls.key=path/to/foo.key
tls.key
Private certificate used for the secure connection to Redis.
providers:
redis:
tls:
cert: path/to/foo.cert
key: path/to/foo.key
[providers.redis.tls]
cert = "path/to/foo.cert"
key = "path/to/foo.key"
--providers.redis.tls.cert=path/to/foo.cert
--providers.redis.tls.key=path/to/foo.key
tls.insecureSkipVerify
If insecureSkipVerify
is true
, the TLS connection to Redis accepts any certificate presented by the server regardless of the hostnames it covers.
providers:
redis:
tls:
insecureSkipVerify: true
[providers.redis.tls]
insecureSkipVerify = true
--providers.redis.tls.insecureSkipVerify=true