Traefik Ingress Operator for Kubernetes
| Channel | Revision | Published | Runs on |
|---|---|---|---|
| latest/stable | 254 | 20 Oct 2025 | |
| latest/candidate | 254 | 20 Oct 2025 | |
| latest/beta | 254 | 20 Oct 2025 | |
| latest/edge | 255 | 22 Oct 2025 | |
| 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
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
basicAuthmiddleware 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-authmiddleware 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 when providing its host to other applications. If unspecified, the address assigned to the ingress by the LoadBalancer will be used. external_hostname must be a "bare" hostname - it cannot include a schema prefix or port.
-
loadbalancer_annotations | string
A comma-separated list of annotations to apply to the LoadBalancer service. The format should be:
key1=value1,key2=value2,key3=value3. These annotations are passed directly to the Kubernetes LoadBalancer service, enabling customization for specific cloud provider settings or integrations.Example: "external-dns.alpha.kubernetes.io/hostname=example.com,service.beta.kubernetes.io/aws-load-balancer-type=nlb"
Ensure the annotations are correctly formatted and adhere to Kubernetes' syntax and character set : https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set Invalid values will result in LoadBalancer being removed and all previously set annotations will be lost.
-
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://fooexternal URL, will provide to the unitmy-unit/2in themy-modelmodel the following URL:http://foo/my-model-my-unit-2With 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:8080external URL, will provide to the unitmy-unit/2in themy-modelmodel the following URL:http://my-model-my-unit-2.foo:8080Note 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.