Documentation Index
Fetch the complete documentation index at: https://mintlify.com/traefik/traefik/llms.txt
Use this file to discover all available pages before exploring further.
Providers Overview
Traefik’s Many Friends - Configuration Discovery Made Simple Providers are the infrastructure components that Traefik queries to discover routing configuration. Whether you’re using container orchestrators, cloud platforms, or configuration files, Traefik automatically detects changes and dynamically updates routes.What are Providers?
Configuration discovery in Traefik is achieved through Providers. These are infrastructure components like:- Orchestrators: Docker, Kubernetes, Nomad, AWS ECS
- Service Catalogs: Consul Catalog
- Key-Value Stores: etcd, Consul, Redis, ZooKeeper
- File-based: YAML/TOML configuration files
- API-based: HTTP endpoints
Provider Categories
Providers can be grouped into four main categories:Label-based Providers
Each deployed container has labels attached to it that define routing rules.Examples: Docker, AWS ECS, Consul Catalog, Nomad
Annotation-based Providers
Separate objects with annotations define container characteristics.Examples: Kubernetes (Ingress, CRD, Gateway API)
Key-Value Providers
Configuration is stored in distributed key-value stores.Examples: etcd, Consul, Redis, ZooKeeper
Supported Providers
| Provider | Type | Configuration Method | Provider Name |
|---|---|---|---|
| Docker | Orchestrator | Labels | docker |
| Kubernetes CRD | Orchestrator | Custom Resources | kubernetescrd |
| Kubernetes Gateway API | Orchestrator | Gateway API | kubernetesgateway |
| File | Manual | YAML/TOML | file |
| Consul Catalog | Orchestrator | Tags | consulcatalog |
| etcd | KV Store | Key-Value | etcd |
| AWS ECS | Cloud | Labels | ecs |
| Nomad | Orchestrator | Tags | nomad |
Provider Namespaces
When you declare objects like middleware, services, or TLS options, they reside in their provider’s namespace.Cross-Provider References
To reference objects from another provider, use the@ separator:
- Docker
- Kubernetes IngressRoute
- File
When using Kubernetes, don’t confuse the provider namespace with the Kubernetes namespace. Cross-provider references don’t use Kubernetes namespaces.
Configuration Reload
Throttling Provider Updates
Control how frequently Traefik processes configuration changes:Service Discovery Scope
By default, Traefik creates routes for all detected containers. You can restrict discovery using:exposedByDefault
Control whether services are exposed automatically:false, only services with traefik.enable=true are exposed.
Supported by: Docker, ECS, Consul Catalog, Nomad
Constraints
Filter services based on labels or tags:Quick Start Examples
Best Practices
Use Multiple Providers
Combine providers for flexibility. Use File provider for shared middleware and certificates, plus orchestrator providers for services.
Implement Constraints
Use constraints to separate environments (staging/production) or control which services Traefik manages.
Set Throttle Duration
Configure
providersThrottleDuration in dynamic environments to prevent excessive reloads.Next Steps
Docker Provider
Configure Traefik with Docker containers using labels
Kubernetes
Deploy Traefik in Kubernetes with CRDs or Gateway API
File Provider
Use static YAML/TOML files for configuration
AWS ECS
Integrate Traefik with Amazon ECS services