Traefik Ingress Operator for Kubernetes
- Canonical Observability
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 199 | 19 Nov 2024 | |
latest/candidate | 203 | 19 Nov 2024 | |
latest/beta | 218 | 19 Nov 2024 | |
latest/edge | 218 | 18 Nov 2024 | |
1.0/stable | 164 | 16 Feb 2024 | |
1.0/candidate | 164 | 22 Nov 2023 | |
1.0/beta | 164 | 22 Nov 2023 | |
1.0/edge | 164 | 22 Nov 2023 |
juju deploy traefik-k8s --channel edge
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
-
basic_auth_user | string
Enables the
basicAuth
middleware for all routes on this proxy. The format of this string must be:name:hashed-password
, generated with e.g. htpasswd. Supported hashing algorithms are: MD5, SHA1, BCrypt. For more documentation see https://doc.traefik.io/traefik/middlewares/http/basicauth/ Once this config option is set, the username/password pair will be required to authenticate http requests on all routes proxied by this traefik app. -
enable_experimental_forward_auth | boolean
Enables
forward-auth
middleware capabilities required to set up Identity and Access Proxy. This feature is experimental and may be unstable. -
external_hostname | string
The DNS name to be used by Traefik ingress. If unspecified, the gateway ingress ip address will be used, e.g, as provided by MetalLB. This needs to be a
bare
hostname: i.e. no schema prefix and no port. -
routing_mode | string
Default: path
The routing mode allows you to specify how Traefik going to generate routes on behalf of the requesters.
Valid values are "path" and "subdomain".
With the "path" routing mode, Traefik will use its externally-visible url, and create a route for the requester that will be structure like:
<external_url>/<requester_model_name>-<requester_application_name>-<requester-unit-index>
For example, an ingress-per-unit provider with
http://foo
external URL, will provide to the unitmy-unit/2
in themy-model
model the following URL:http://foo/my-model-my-unit-2
With the "subdomain" routing mode, Traefik will use its externally-visible url, and create a route for the requester that will be structure like:
<protocol>://<requester_model_name>-<requester_application_name>-<requester-unit-index>.<external_hostname>:<port>/
For example, an ingress-per-unit provider with
http://foo:8080
external URL, will provide to the unitmy-unit/2
in themy-model
model the following URL:http://my-model-my-unit-2.foo:8080
Note that, for 'subdomain' routing mode, the external_hostname must be set and not be set to an IP address. This is because subdomains are not supported for IP addresses.
-
tls-ca | string
CA cert used for TLS termination.
-
tls-cert | string
SSL cert used for TLS termination.
-
tls-key | string
Key used for TLS termination.