diff --git a/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml b/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
index b21823a10..ea2618637 100644
--- a/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
+++ b/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
@@ -43,7 +43,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -64,12 +64,12 @@ spec:
match:
description: |-
Match defines the router's rule.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/
type: string
middlewares:
description: |-
Middlewares defines the list of references to Middleware resources.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-middleware
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/middleware/
items:
description: MiddlewareRef is a reference to a Middleware
resource.
@@ -89,7 +89,7 @@ spec:
observability:
description: |-
Observability defines the observability configuration for a router.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#observability
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/observability/
properties:
accessLogs:
description: AccessLogs enables access logs for this router.
@@ -112,7 +112,7 @@ spec:
priority:
description: |-
Priority defines the router's priority.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#priority
maximum: 9223372036854775000
type: integer
services:
@@ -263,7 +263,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -332,7 +332,7 @@ spec:
syntax:
description: |-
Syntax defines the router's rule syntax.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
type: string
required:
@@ -342,18 +342,18 @@ spec:
tls:
description: |-
TLS defines the TLS configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/router/#tls
properties:
certResolver:
description: |-
CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
type: string
domains:
description: |-
Domains defines the list of domains that will be used to issue certificates.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#domains
items:
description: Domain holds a domain name with SANs.
properties:
@@ -372,17 +372,17 @@ spec:
description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-options/
properties:
name:
description: |-
Name defines the name of the referenced TLSOption.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string
namespace:
description: |-
Namespace defines the namespace of the referenced TLSOption.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string
required:
- name
@@ -399,12 +399,12 @@ spec:
name:
description: |-
Name defines the name of the referenced TLSStore.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string
namespace:
description: |-
Namespace defines the namespace of the referenced TLSStore.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string
required:
- name
@@ -464,7 +464,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -477,7 +477,7 @@ spec:
match:
description: |-
Match defines the router's rule.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/
type: string
middlewares:
description: Middlewares defines the list of references to MiddlewareTCP
@@ -501,7 +501,7 @@ spec:
priority:
description: |-
Priority defines the router's priority.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#priority
maximum: 9223372036854775000
type: integer
services:
@@ -543,7 +543,7 @@ spec:
proxyProtocol:
description: |-
ProxyProtocol defines the PROXY protocol configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#proxy-protocol
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/service/#proxy-protocol
Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.
properties:
version:
@@ -585,7 +585,7 @@ spec:
syntax:
description: |-
Syntax defines the router's rule syntax.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
enum:
- v3
@@ -598,18 +598,18 @@ spec:
tls:
description: |-
TLS defines the TLS configuration on a layer 4 / TCP Route.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/router/#tls
properties:
certResolver:
description: |-
CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
type: string
domains:
description: |-
Domains defines the list of domains that will be used to issue certificates.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#domains
items:
description: Domain holds a domain name with SANs.
properties:
@@ -628,7 +628,7 @@ spec:
description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#tls-options
properties:
name:
description: Name defines the name of the referenced Traefik
@@ -720,7 +720,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -808,7 +808,7 @@ spec:
openAPIV3Schema:
description: |-
Middleware is the CRD implementation of a Traefik Middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/overview/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/
properties:
apiVersion:
description: |-
@@ -849,12 +849,12 @@ spec:
description: |-
BasicAuth holds the basic auth middleware configuration.
This middleware restricts access to your services to known users.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/
properties:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/#headerfield
type: string
realm:
description: |-
@@ -914,7 +914,7 @@ spec:
description: |-
Chain holds the configuration of the chain middleware.
This middleware enables to define reusable combinations of other pieces of middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/chain/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/chain/
properties:
middlewares:
description: Middlewares is the list of MiddlewareRef which composes
@@ -977,7 +977,7 @@ spec:
description: |-
Compress holds the compress middleware configuration.
This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/compress/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/compress/
properties:
defaultEncoding:
description: DefaultEncoding specifies the default encoding if
@@ -1027,12 +1027,12 @@ spec:
description: |-
DigestAuth holds the digest auth middleware configuration.
This middleware restricts access to your services to known users.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/digestauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/
properties:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/#headerfield
type: string
realm:
description: |-
@@ -1052,7 +1052,7 @@ spec:
description: |-
ErrorPage holds the custom error middleware configuration.
This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/
properties:
query:
description: |-
@@ -1064,7 +1064,7 @@ spec:
service:
description: |-
Service defines the reference to a Kubernetes Service that will serve the error page.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/#service
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/#service
properties:
healthCheck:
description: Healthcheck defines health checks for ExternalName
@@ -1206,7 +1206,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -1293,7 +1293,7 @@ spec:
description: |-
ForwardAuth holds the forward auth middleware configuration.
This middleware delegates the request authentication to a Service.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/
properties:
addAuthCookiesToResponse:
description: AddAuthCookiesToResponse defines the list of cookies
@@ -1321,7 +1321,7 @@ spec:
authResponseHeadersRegex:
description: |-
AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#authresponseheadersregex
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex
type: string
forwardBody:
description: ForwardBody defines whether to send the request body
@@ -1330,7 +1330,7 @@ spec:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#headerfield
type: string
maxBodySize:
description: MaxBodySize defines the maximum body size in bytes
@@ -1796,13 +1796,13 @@ spec:
x-kubernetes-preserve-unknown-fields: true
description: |-
Plugin defines the middleware plugin configuration.
- More info: https://doc.traefik.io/traefik/plugins/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/#community-middlewares
type: object
rateLimit:
description: |-
RateLimit holds the rate limit configuration.
This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ratelimit/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/ratelimit/
properties:
average:
description: |-
@@ -2020,7 +2020,7 @@ spec:
Retry holds the retry middleware configuration.
This middleware reissues requests a given number of times to a backend server if that server does not reply.
As soon as the server answers, the middleware stops retrying, regardless of the response status.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/retry/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/retry/
properties:
attempts:
description: Attempts defines how many times the request should
@@ -2100,7 +2100,7 @@ spec:
openAPIV3Schema:
description: |-
MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/overview/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/overview/
properties:
apiVersion:
description: |-
@@ -2137,7 +2137,7 @@ spec:
description: |-
IPAllowList defines the IPAllowList middleware configuration.
This middleware accepts/refuses connections based on the client IP.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipallowlist/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipallowlist/
properties:
sourceRange:
description: SourceRange defines the allowed IPs (or ranges of
@@ -2151,7 +2151,7 @@ spec:
IPWhiteList defines the IPWhiteList middleware configuration.
This middleware accepts/refuses connections based on the client IP.
Deprecated: please use IPAllowList instead.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipwhitelist/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipwhitelist/
properties:
sourceRange:
description: SourceRange defines the allowed IPs (or ranges of
@@ -2190,7 +2190,7 @@ spec:
ServersTransport is the CRD implementation of a ServersTransport.
If no serversTransport is specified, the default@internal will be used.
The default@internal serversTransport is created from the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/serverstransport/
properties:
apiVersion:
description: |-
@@ -2359,7 +2359,7 @@ spec:
ServersTransportTCP is the CRD implementation of a TCPServersTransport.
If no tcpServersTransport is specified, a default one named default@internal will be used.
The default@internal tcpServersTransport can be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_3
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/serverstransport/
properties:
apiVersion:
description: |-
@@ -2513,7 +2513,7 @@ spec:
openAPIV3Schema:
description: |-
TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options
properties:
apiVersion:
description: |-
@@ -2538,14 +2538,14 @@ spec:
alpnProtocols:
description: |-
ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#alpn-protocols
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols
items:
type: string
type: array
cipherSuites:
description: |-
CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#cipher-suites
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites
items:
type: string
type: array
@@ -2573,7 +2573,7 @@ spec:
curvePreferences:
description: |-
CurvePreferences defines the preferred elliptic curves.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#curve-preferences
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences
items:
type: string
type: array
@@ -2633,7 +2633,7 @@ spec:
TLSStore is the CRD implementation of a Traefik TLS Store.
For the time being, only the TLSStore named default is supported.
This means that you cannot have two stores that are named default in different Kubernetes namespaces.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#certificates-stores
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores
properties:
apiVersion:
description: |-
@@ -2731,7 +2731,7 @@ spec:
TraefikService object allows to:
- Apply weight to Services on load-balancing
- Mirror traffic on services
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-traefikservice
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/
properties:
apiVersion:
description: |-
@@ -2995,7 +2995,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -3123,7 +3123,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -3336,7 +3336,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -3404,7 +3404,7 @@ spec:
sticky:
description: |-
Sticky defines whether sticky sessions are enabled.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#stickiness-and-load-balancing
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml
index 46cc78976..7c40866ea 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml
@@ -43,7 +43,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -64,12 +64,12 @@ spec:
match:
description: |-
Match defines the router's rule.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/
type: string
middlewares:
description: |-
Middlewares defines the list of references to Middleware resources.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-middleware
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/middleware/
items:
description: MiddlewareRef is a reference to a Middleware
resource.
@@ -89,7 +89,7 @@ spec:
observability:
description: |-
Observability defines the observability configuration for a router.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#observability
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/observability/
properties:
accessLogs:
description: AccessLogs enables access logs for this router.
@@ -112,7 +112,7 @@ spec:
priority:
description: |-
Priority defines the router's priority.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#priority
maximum: 9223372036854775000
type: integer
services:
@@ -263,7 +263,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -332,7 +332,7 @@ spec:
syntax:
description: |-
Syntax defines the router's rule syntax.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
type: string
required:
@@ -342,18 +342,18 @@ spec:
tls:
description: |-
TLS defines the TLS configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/router/#tls
properties:
certResolver:
description: |-
CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
type: string
domains:
description: |-
Domains defines the list of domains that will be used to issue certificates.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#domains
items:
description: Domain holds a domain name with SANs.
properties:
@@ -372,17 +372,17 @@ spec:
description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-options/
properties:
name:
description: |-
Name defines the name of the referenced TLSOption.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string
namespace:
description: |-
Namespace defines the namespace of the referenced TLSOption.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string
required:
- name
@@ -399,12 +399,12 @@ spec:
name:
description: |-
Name defines the name of the referenced TLSStore.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string
namespace:
description: |-
Namespace defines the namespace of the referenced TLSStore.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string
required:
- name
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml
index 450f82794..37a02f2fb 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml
@@ -43,7 +43,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -56,7 +56,7 @@ spec:
match:
description: |-
Match defines the router's rule.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/
type: string
middlewares:
description: Middlewares defines the list of references to MiddlewareTCP
@@ -80,7 +80,7 @@ spec:
priority:
description: |-
Priority defines the router's priority.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#priority
maximum: 9223372036854775000
type: integer
services:
@@ -122,7 +122,7 @@ spec:
proxyProtocol:
description: |-
ProxyProtocol defines the PROXY protocol configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#proxy-protocol
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/service/#proxy-protocol
Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.
properties:
version:
@@ -164,7 +164,7 @@ spec:
syntax:
description: |-
Syntax defines the router's rule syntax.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
enum:
- v3
@@ -177,18 +177,18 @@ spec:
tls:
description: |-
TLS defines the TLS configuration on a layer 4 / TCP Route.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/router/#tls
properties:
certResolver:
description: |-
CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
type: string
domains:
description: |-
Domains defines the list of domains that will be used to issue certificates.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#domains
items:
description: Domain holds a domain name with SANs.
properties:
@@ -207,7 +207,7 @@ spec:
description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#tls-options
properties:
name:
description: Name defines the name of the referenced Traefik
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml
index a0c153933..dc08ce018 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml
@@ -43,7 +43,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml b/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml
index d658c6602..5321da0b0 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml
@@ -19,7 +19,7 @@ spec:
openAPIV3Schema:
description: |-
Middleware is the CRD implementation of a Traefik Middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/overview/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/
properties:
apiVersion:
description: |-
@@ -60,12 +60,12 @@ spec:
description: |-
BasicAuth holds the basic auth middleware configuration.
This middleware restricts access to your services to known users.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/
properties:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/#headerfield
type: string
realm:
description: |-
@@ -125,7 +125,7 @@ spec:
description: |-
Chain holds the configuration of the chain middleware.
This middleware enables to define reusable combinations of other pieces of middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/chain/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/chain/
properties:
middlewares:
description: Middlewares is the list of MiddlewareRef which composes
@@ -188,7 +188,7 @@ spec:
description: |-
Compress holds the compress middleware configuration.
This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/compress/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/compress/
properties:
defaultEncoding:
description: DefaultEncoding specifies the default encoding if
@@ -238,12 +238,12 @@ spec:
description: |-
DigestAuth holds the digest auth middleware configuration.
This middleware restricts access to your services to known users.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/digestauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/
properties:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/#headerfield
type: string
realm:
description: |-
@@ -263,7 +263,7 @@ spec:
description: |-
ErrorPage holds the custom error middleware configuration.
This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/
properties:
query:
description: |-
@@ -275,7 +275,7 @@ spec:
service:
description: |-
Service defines the reference to a Kubernetes Service that will serve the error page.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/#service
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/#service
properties:
healthCheck:
description: Healthcheck defines health checks for ExternalName
@@ -417,7 +417,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -504,7 +504,7 @@ spec:
description: |-
ForwardAuth holds the forward auth middleware configuration.
This middleware delegates the request authentication to a Service.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/
properties:
addAuthCookiesToResponse:
description: AddAuthCookiesToResponse defines the list of cookies
@@ -532,7 +532,7 @@ spec:
authResponseHeadersRegex:
description: |-
AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#authresponseheadersregex
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex
type: string
forwardBody:
description: ForwardBody defines whether to send the request body
@@ -541,7 +541,7 @@ spec:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#headerfield
type: string
maxBodySize:
description: MaxBodySize defines the maximum body size in bytes
@@ -1007,13 +1007,13 @@ spec:
x-kubernetes-preserve-unknown-fields: true
description: |-
Plugin defines the middleware plugin configuration.
- More info: https://doc.traefik.io/traefik/plugins/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/#community-middlewares
type: object
rateLimit:
description: |-
RateLimit holds the rate limit configuration.
This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ratelimit/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/ratelimit/
properties:
average:
description: |-
@@ -1231,7 +1231,7 @@ spec:
Retry holds the retry middleware configuration.
This middleware reissues requests a given number of times to a backend server if that server does not reply.
As soon as the server answers, the middleware stops retrying, regardless of the response status.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/retry/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/retry/
properties:
attempts:
description: Attempts defines how many times the request should
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml
index 3add01131..5f7604923 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml
@@ -19,7 +19,7 @@ spec:
openAPIV3Schema:
description: |-
MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/overview/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/overview/
properties:
apiVersion:
description: |-
@@ -56,7 +56,7 @@ spec:
description: |-
IPAllowList defines the IPAllowList middleware configuration.
This middleware accepts/refuses connections based on the client IP.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipallowlist/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipallowlist/
properties:
sourceRange:
description: SourceRange defines the allowed IPs (or ranges of
@@ -70,7 +70,7 @@ spec:
IPWhiteList defines the IPWhiteList middleware configuration.
This middleware accepts/refuses connections based on the client IP.
Deprecated: please use IPAllowList instead.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipwhitelist/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipwhitelist/
properties:
sourceRange:
description: SourceRange defines the allowed IPs (or ranges of
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml b/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml
index f8d29a96a..0828291ee 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml
@@ -21,7 +21,7 @@ spec:
ServersTransport is the CRD implementation of a ServersTransport.
If no serversTransport is specified, the default@internal will be used.
The default@internal serversTransport is created from the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/serverstransport/
properties:
apiVersion:
description: |-
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_serverstransporttcps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_serverstransporttcps.yaml
index 308a6ffbd..f8be2b1d9 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_serverstransporttcps.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_serverstransporttcps.yaml
@@ -21,7 +21,7 @@ spec:
ServersTransportTCP is the CRD implementation of a TCPServersTransport.
If no tcpServersTransport is specified, a default one named default@internal will be used.
The default@internal tcpServersTransport can be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_3
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/serverstransport/
properties:
apiVersion:
description: |-
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml b/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml
index 534885b0a..c32974fae 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml
@@ -19,7 +19,7 @@ spec:
openAPIV3Schema:
description: |-
TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options
properties:
apiVersion:
description: |-
@@ -44,14 +44,14 @@ spec:
alpnProtocols:
description: |-
ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#alpn-protocols
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols
items:
type: string
type: array
cipherSuites:
description: |-
CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#cipher-suites
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites
items:
type: string
type: array
@@ -79,7 +79,7 @@ spec:
curvePreferences:
description: |-
CurvePreferences defines the preferred elliptic curves.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#curve-preferences
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences
items:
type: string
type: array
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml b/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml
index 1b2fb58ac..779c93908 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml
@@ -21,7 +21,7 @@ spec:
TLSStore is the CRD implementation of a Traefik TLS Store.
For the time being, only the TLSStore named default is supported.
This means that you cannot have two stores that are named default in different Kubernetes namespaces.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#certificates-stores
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores
properties:
apiVersion:
description: |-
diff --git a/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml b/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml
index 1e6fec094..77e97156b 100644
--- a/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml
+++ b/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml
@@ -22,7 +22,7 @@ spec:
TraefikService object allows to:
- Apply weight to Services on load-balancing
- Mirror traffic on services
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-traefikservice
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/
properties:
apiVersion:
description: |-
@@ -286,7 +286,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -414,7 +414,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -627,7 +627,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -695,7 +695,7 @@ spec:
sticky:
description: |-
Sticky defines whether sticky sessions are enabled.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#stickiness-and-load-balancing
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
diff --git a/docs/content/reference/routing-configuration/http/router/observability.md b/docs/content/reference/routing-configuration/http/routing/observability.md
similarity index 100%
rename from docs/content/reference/routing-configuration/http/router/observability.md
rename to docs/content/reference/routing-configuration/http/routing/observability.md
diff --git a/docs/content/reference/routing-configuration/http/routing/router.md b/docs/content/reference/routing-configuration/http/routing/router.md
new file mode 100644
index 000000000..25073771a
--- /dev/null
+++ b/docs/content/reference/routing-configuration/http/routing/router.md
@@ -0,0 +1,96 @@
+---
+title: "Traefik HTTP Routers Documentation"
+description: "HTTP routers are responsible for connecting incoming requests to the services that can handle them. Read the technical documentation."
+---
+
+## HTTP Router
+
+An HTTP router is in charge of connecting incoming requests to the services that can handle them. Routers analyze incoming requests based on rules, and when a match is found, forward the request through any configured middlewares to the appropriate service.
+
+## Configuration Example
+
+```yaml tab="Structured (YAML)"
+http:
+ routers:
+ my-router:
+ entryPoints:
+ - "web"
+ - "websecure"
+ rule: "Host(`example.com`) && Path(`/api`)"
+ priority: 10
+ middlewares:
+ - "auth"
+ - "ratelimit"
+ tls:
+ certResolver: "letsencrypt"
+ observability:
+ metrics: true
+ accessLogs: true
+ tracing: true
+ service: my-service
+```
+
+```toml tab="Structured (TOML)"
+[http.routers]
+ [http.routers.my-router]
+ entryPoints = ["web", "websecure"]
+ rule = "Host(`example.com`) && Path(`/api`)"
+ priority = 10
+ middlewares = ["auth", "ratelimit"]
+ service = "my-service"
+
+ [http.routers.my-router.tls]
+ certResolver = "letsencrypt"
+
+ [http.routers.my-router.observability]
+ metrics = true
+ accessLogs = true
+ tracing = true
+```
+
+```yaml tab="Labels"
+labels:
+ - "traefik.http.routers.my-router.entrypoints=web,websecure"
+ - "traefik.http.routers.my-router.rule=Host(`example.com`) && Path(`/api`)"
+ - "traefik.http.routers.my-router.priority=10"
+ - "traefik.http.routers.my-router.middlewares=auth,ratelimit"
+ - "traefik.http.routers.my-router.service=my-service"
+ - "traefik.http.routers.my-router.tls.certresolver=letsencrypt"
+ - "traefik.http.routers.my-router.observability.metrics=true"
+ - "traefik.http.routers.my-router.observability.accessLogs=true"
+ - "traefik.http.routers.my-router.observability.tracing=true"
+```
+
+```json tab="Tags"
+{
+ "Tags": [
+ "traefik.http.routers.my-router.entrypoints=web,websecure",
+ "traefik.http.routers.my-router.rule=Host(`example.com`) && Path(`/api`)",
+ "traefik.http.routers.my-router.priority=10",
+ "traefik.http.routers.my-router.middlewares=auth,ratelimit",
+ "traefik.http.routers.my-router.service=my-service",
+ "traefik.http.routers.my-router.tls.certresolver=letsencrypt",
+ "traefik.http.routers.my-router.observability.metrics=true",
+ "traefik.http.routers.my-router.observability.accessLogs=true",
+ "traefik.http.routers.my-router.observability.tracing=true"
+ ]
+}
+```
+
+## Configuration Options
+
+| Field | Description | Default | Required |
+|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
+| `entryPoints` | The list of entry points to which the router is attached. If not specified, HTTP routers are attached to all entry points. | All entry points | No |
+| `rule` | Rules are a set of matchers configured with values, that determine if a particular request matches specific criteria. If the rule is verified, the router becomes active, calls middlewares, and then forwards the request to the service. See [Rules & Priority](./rules-and-priority.md) for details. | | Yes |
+| `priority` | To avoid path overlap, routes are sorted, by default, in descending order using rules length. The priority is directly equal to the length of the rule, and so the longest length has the highest priority. A value of `0` for the priority is ignored. See [Rules & Priority](./rules-and-priority.md) for details. | Rule length | No |
+| `middlewares` | The list of middlewares that are applied to the router. Middlewares are applied in the order they are declared. See [Middlewares overview](../middlewares/overview.md) for available middlewares. | | No |
+| `tls` | TLS configuration for the router. When specified, the router will only handle HTTPS requests. See [TLS overview](../tls/overview.md) for detailed TLS configuration. | | No |
+| `observability` | Observability configuration for the router. Allows fine-grained control over access logs, metrics, and tracing per router. See [Observability](./observability.md) for details. | Inherited from entry points | No |
+| `service` | The name of the service that will handle the matched requests. Services can be load balancer services, weighted round robin, mirroring, or failover services. See [Service](../load-balancing/service.md) for details.| | Yes |
+
+
+## Router Naming
+
+- The character `@` is not authorized in the router name
+- In provider-specific configurations (Docker, Kubernetes), router names are often auto-generated based on service names and rules
diff --git a/docs/content/reference/routing-configuration/http/router/rules-and-priority.md b/docs/content/reference/routing-configuration/http/routing/rules-and-priority.md
similarity index 100%
rename from docs/content/reference/routing-configuration/http/router/rules-and-priority.md
rename to docs/content/reference/routing-configuration/http/routing/rules-and-priority.md
diff --git a/docs/content/reference/routing-configuration/tcp/routing/router.md b/docs/content/reference/routing-configuration/tcp/routing/router.md
new file mode 100644
index 000000000..461ba3db3
--- /dev/null
+++ b/docs/content/reference/routing-configuration/tcp/routing/router.md
@@ -0,0 +1,86 @@
+---
+title: "Traefik TCP Routers Documentation"
+description: "TCP routers are responsible for connecting incoming TCP connections to the services that can handle them. Read the technical documentation."
+---
+
+## TCP Router
+
+A TCP router is in charge of connecting incoming TCP connections to the services that can handle them. TCP routers analyze incoming connections based on rules, and when a match is found, forward the connection through any configured middlewares to the appropriate service.
+
+!!! note "TCP vs HTTP Routing"
+ If both HTTP routers and TCP routers listen to the same EntryPoint, the TCP routers will apply before the HTTP routers. If no matching route is found for the TCP routers, then the HTTP routers will take over.
+
+## Configuration Example
+
+```yaml tab="Structured (YAML)"
+tcp:
+ routers:
+ my-tcp-router:
+ entryPoints:
+ - "tcp-ep"
+ - "websecure"
+ rule: "HostSNI(`example.com`)"
+ priority: 10
+ middlewares:
+ - "tcp-ipallowlist"
+ tls:
+ passthrough: false
+ certResolver: "letsencrypt"
+ service: my-tcp-service
+```
+
+```toml tab="Structured (TOML)"
+[tcp.routers]
+ [tcp.routers.my-tcp-router]
+ entryPoints = ["tcp-ep", "websecure"]
+ rule = "HostSNI(`example.com`)"
+ priority = 10
+ middlewares = ["tcp-ipallowlist"]
+ service = "my-tcp-service"
+
+ [tcp.routers.my-tcp-router.tls]
+ passthrough = false
+ certResolver = "letsencrypt"
+```
+
+```yaml tab="Labels"
+labels:
+ - "traefik.tcp.routers.my-tcp-router.entrypoints=tcp-ep,websecure"
+ - "traefik.tcp.routers.my-tcp-router.rule=HostSNI(`example.com`)"
+ - "traefik.tcp.routers.my-tcp-router.priority=10"
+ - "traefik.tcp.routers.my-tcp-router.middlewares=tcp-ipallowlist"
+ - "traefik.tcp.routers.my-tcp-router.tls.certresolver=letsencrypt"
+ - "traefik.tcp.routers.my-tcp-router.tls.passthrough=false"
+ - "traefik.tcp.routers.my-tcp-router.service=my-tcp-service"
+```
+
+```json tab="Tags"
+{
+ "Tags": [
+ "traefik.tcp.routers.my-tcp-router.entrypoints=tcp-ep,websecure",
+ "traefik.tcp.routers.my-tcp-router.rule=HostSNI(`example.com`)",
+ "traefik.tcp.routers.my-tcp-router.priority=10",
+ "traefik.tcp.routers.my-tcp-router.middlewares=tcp-ipallowlist",
+ "traefik.tcp.routers.my-tcp-router.tls.certresolver=letsencrypt",
+ "traefik.tcp.routers.my-tcp-router.tls.passthrough=false",
+ "traefik.tcp.routers.my-tcp-router.service=my-tcp-service"
+ ]
+}
+```
+
+## Configuration Options
+
+| Field | Description | Default | Required |
+|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
+| `entryPoints` | The list of entry points to which the router is attached. If not specified, TCP routers are attached to all TCP entry points. | All TCP entry points | No |
+| `rule` | Rules are a set of matchers configured with values, that determine if a particular connection matches specific criteria. If the rule is verified, the router becomes active, calls middlewares, and then forwards the connection to the service. See [Rules & Priority](./rules-and-priority.md) for details. | | Yes |
+| `priority` | To avoid rule overlap, routes are sorted, by default, in descending order using rules length. The priority is directly equal to the length of the rule, and so the longest length has the highest priority. A value of `0` for the priority is ignored. See [Rules & Priority](./rules-and-priority.md) for details. | Rule length | No |
+| `middlewares` | The list of middlewares that are applied to the router. Middlewares are applied in the order they are declared. See [TCP Middlewares overview](../middlewares/overview.md) for available TCP middlewares. | | No |
+| `tls` | TLS configuration for the router. When specified, the router will only handle TLS connections. See [TLS configuration](../tls.md) for detailed TLS options. | | No |
+| `service` | The name of the service that will handle the matched connections. Services can be load balancer services or weighted round robin services. See [TCP Service](../service.md) for details. | | Yes |
+
+## Router Naming
+
+- The character `@` is not authorized in the router name
+- Router names should be descriptive and follow your naming conventions
+- In provider-specific configurations (Docker, Kubernetes), router names are often auto-generated based on service names and rules
diff --git a/docs/content/reference/routing-configuration/tcp/router/rules-and-priority.md b/docs/content/reference/routing-configuration/tcp/routing/rules-and-priority.md
similarity index 100%
rename from docs/content/reference/routing-configuration/tcp/router/rules-and-priority.md
rename to docs/content/reference/routing-configuration/tcp/routing/rules-and-priority.md
diff --git a/docs/content/reference/routing-configuration/udp/routing/router.md b/docs/content/reference/routing-configuration/udp/routing/router.md
new file mode 100644
index 000000000..10d689980
--- /dev/null
+++ b/docs/content/reference/routing-configuration/udp/routing/router.md
@@ -0,0 +1,69 @@
+---
+title: "Traefik UDP Routers Documentation"
+description: "UDP routers are responsible for connecting incoming UDP packets to the services that can handle them. Read the technical documentation."
+---
+
+## UDP Router
+
+A UDP router is in charge of connecting incoming UDP packets to the services that can handle them. Unlike HTTP and TCP routers, UDP routers operate at the transport layer and have unique characteristics due to the connectionless nature of UDP.
+
+!!! important "UDP Router Characteristics"
+ - UDP is connectionless, so there is no concept of a request URL path or Host SNI to match against
+ - UDP routers are essentially load-balancers that distribute packets to backend services
+ - UDP routers can only target UDP services (not HTTP or TCP services)
+ - Sessions are tracked with configurable timeouts to maintain state between client and backend
+
+## Configuration Example
+
+```yaml tab="Structured (YAML)"
+udp:
+ routers:
+ my-udp-router:
+ entryPoints:
+ - "udp-ep"
+ - "dns"
+ service: my-udp-service
+```
+
+```toml tab="Structured (TOML)"
+[udp.routers]
+ [udp.routers.my-udp-router]
+ entryPoints = ["udp-ep", "dns"]
+ service = "my-udp-service"
+```
+
+```yaml tab="Labels"
+labels:
+ - "traefik.udp.routers.my-udp-router.entrypoints=udp-ep,dns"
+ - "traefik.udp.routers.my-udp-router.service=my-udp-service"
+```
+
+```json tab="Tags"
+{
+ "Tags": [
+ "traefik.udp.routers.my-udp-router.entrypoints=udp-ep,dns",
+ "traefik.udp.routers.my-udp-router.service=my-udp-service"
+ ]
+}
+```
+
+## Configuration Options
+
+| Field | Description | Default | Required |
+|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
+| `entryPoints` | The list of entry points to which the router is attached. If not specified, UDP routers are attached to all UDP entry points. | All UDP entry points | No |
+| `service` | The name of the service that will handle the matched UDP packets. UDP services are typically load balancer services that distribute packets to multiple backend servers. See [UDP Service](../service.md) for details. | | Yes |
+
+## Sessions and Timeout
+
+Even though UDP is connectionless, Traefik's UDP router implementation relies on sessions to maintain state about ongoing communication between clients and backends. This allows the proxy to know where to forward response packets from backends.
+
+Each session has an associated timeout that cleans up inactive sessions after a specified duration of inactivity.
+
+Session timeout can be configured using the `entryPoints.name.udp.timeout` option in the static configuration. See [EntryPoints documentation](../../install-configuration/entrypoints.md) for details.
+
+## Router Naming
+
+- The character `@` is not authorized in the router name
+- Router names should be descriptive and follow your naming conventions
+- In provider-specific configurations (Docker, Kubernetes), router names are often auto-generated based on service names
diff --git a/docs/content/reference/routing-configuration/udp/router/rules-priority.md b/docs/content/reference/routing-configuration/udp/routing/rules-priority.md
similarity index 100%
rename from docs/content/reference/routing-configuration/udp/router/rules-priority.md
rename to docs/content/reference/routing-configuration/udp/routing/rules-priority.md
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index addd5ba99..6e8663968 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -262,9 +262,10 @@ nav:
- 'Common Configuration' :
- 'Configuration Methods' : 'reference/routing-configuration/dynamic-configuration-methods.md'
- 'HTTP' :
- - 'Router' :
- - 'Rules & Priority' : 'reference/routing-configuration/http/router/rules-and-priority.md'
- - 'Observability': 'reference/routing-configuration/http/router/observability.md'
+ - 'Routing' :
+ - 'Router' : 'reference/routing-configuration/http/routing/router.md'
+ - 'Rules & Priority' : 'reference/routing-configuration/http/routing/rules-and-priority.md'
+ - 'Observability': 'reference/routing-configuration/http/routing/observability.md'
- 'Load Balancing' :
- 'Service' : 'reference/routing-configuration/http/load-balancing/service.md'
- 'ServersTransport' : 'reference/routing-configuration/http/load-balancing/serverstransport.md'
@@ -308,8 +309,9 @@ nav:
- 'StripPrefixRegex': 'reference/routing-configuration/http/middlewares/stripprefixregex.md'
- 'WAF ' : 'reference/routing-configuration/http/middlewares/waf.md'
- 'TCP' :
- - 'Router' :
- - 'Rules & Priority' : 'reference/routing-configuration/tcp/router/rules-and-priority.md'
+ - 'Routing' :
+ - 'Router' : 'reference/routing-configuration/tcp/routing/router.md'
+ - 'Rules & Priority' : 'reference/routing-configuration/tcp/routing/rules-and-priority.md'
- 'Service' : 'reference/routing-configuration/tcp/service.md'
- 'ServersTransport' : 'reference/routing-configuration/tcp/serverstransport.md'
- 'TLS' : 'reference/routing-configuration/tcp/tls.md'
@@ -318,8 +320,9 @@ nav:
- 'InFlightConn' : 'reference/routing-configuration/tcp/middlewares/inflightconn.md'
- 'IPAllowList' : 'reference/routing-configuration/tcp/middlewares/ipallowlist.md'
- 'UDP' :
- - 'Router' :
- - 'Rules & Priority' : 'reference/routing-configuration/udp/router/rules-priority.md'
+ - 'Routing' :
+ - 'Router' : 'reference/routing-configuration/udp/routing/router.md'
+ - 'Rules & Priority' : 'reference/routing-configuration/udp/routing/rules-priority.md'
- 'Service' : 'reference/routing-configuration/udp/service.md'
- 'Kubernetes':
- 'Gateway API' : 'reference/routing-configuration/kubernetes/gateway-api.md'
diff --git a/integration/fixtures/k8s/01-traefik-crd.yml b/integration/fixtures/k8s/01-traefik-crd.yml
index b21823a10..ea2618637 100644
--- a/integration/fixtures/k8s/01-traefik-crd.yml
+++ b/integration/fixtures/k8s/01-traefik-crd.yml
@@ -43,7 +43,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -64,12 +64,12 @@ spec:
match:
description: |-
Match defines the router's rule.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/
type: string
middlewares:
description: |-
Middlewares defines the list of references to Middleware resources.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-middleware
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/middleware/
items:
description: MiddlewareRef is a reference to a Middleware
resource.
@@ -89,7 +89,7 @@ spec:
observability:
description: |-
Observability defines the observability configuration for a router.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#observability
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/observability/
properties:
accessLogs:
description: AccessLogs enables access logs for this router.
@@ -112,7 +112,7 @@ spec:
priority:
description: |-
Priority defines the router's priority.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#priority
maximum: 9223372036854775000
type: integer
services:
@@ -263,7 +263,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -332,7 +332,7 @@ spec:
syntax:
description: |-
Syntax defines the router's rule syntax.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
type: string
required:
@@ -342,18 +342,18 @@ spec:
tls:
description: |-
TLS defines the TLS configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/router/#tls
properties:
certResolver:
description: |-
CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
type: string
domains:
description: |-
Domains defines the list of domains that will be used to issue certificates.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#domains
items:
description: Domain holds a domain name with SANs.
properties:
@@ -372,17 +372,17 @@ spec:
description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-options/
properties:
name:
description: |-
Name defines the name of the referenced TLSOption.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string
namespace:
description: |-
Namespace defines the namespace of the referenced TLSOption.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string
required:
- name
@@ -399,12 +399,12 @@ spec:
name:
description: |-
Name defines the name of the referenced TLSStore.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string
namespace:
description: |-
Namespace defines the namespace of the referenced TLSStore.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string
required:
- name
@@ -464,7 +464,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -477,7 +477,7 @@ spec:
match:
description: |-
Match defines the router's rule.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/
type: string
middlewares:
description: Middlewares defines the list of references to MiddlewareTCP
@@ -501,7 +501,7 @@ spec:
priority:
description: |-
Priority defines the router's priority.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#priority
maximum: 9223372036854775000
type: integer
services:
@@ -543,7 +543,7 @@ spec:
proxyProtocol:
description: |-
ProxyProtocol defines the PROXY protocol configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#proxy-protocol
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/service/#proxy-protocol
Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.
properties:
version:
@@ -585,7 +585,7 @@ spec:
syntax:
description: |-
Syntax defines the router's rule syntax.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
enum:
- v3
@@ -598,18 +598,18 @@ spec:
tls:
description: |-
TLS defines the TLS configuration on a layer 4 / TCP Route.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/router/#tls
properties:
certResolver:
description: |-
CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
type: string
domains:
description: |-
Domains defines the list of domains that will be used to issue certificates.
- More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#domains
items:
description: Domain holds a domain name with SANs.
properties:
@@ -628,7 +628,7 @@ spec:
description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#tls-options
properties:
name:
description: Name defines the name of the referenced Traefik
@@ -720,7 +720,7 @@ spec:
description: |-
EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
Default: all.
items:
type: string
@@ -808,7 +808,7 @@ spec:
openAPIV3Schema:
description: |-
Middleware is the CRD implementation of a Traefik Middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/overview/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/
properties:
apiVersion:
description: |-
@@ -849,12 +849,12 @@ spec:
description: |-
BasicAuth holds the basic auth middleware configuration.
This middleware restricts access to your services to known users.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/
properties:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/#headerfield
type: string
realm:
description: |-
@@ -914,7 +914,7 @@ spec:
description: |-
Chain holds the configuration of the chain middleware.
This middleware enables to define reusable combinations of other pieces of middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/chain/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/chain/
properties:
middlewares:
description: Middlewares is the list of MiddlewareRef which composes
@@ -977,7 +977,7 @@ spec:
description: |-
Compress holds the compress middleware configuration.
This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/compress/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/compress/
properties:
defaultEncoding:
description: DefaultEncoding specifies the default encoding if
@@ -1027,12 +1027,12 @@ spec:
description: |-
DigestAuth holds the digest auth middleware configuration.
This middleware restricts access to your services to known users.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/digestauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/
properties:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/#headerfield
type: string
realm:
description: |-
@@ -1052,7 +1052,7 @@ spec:
description: |-
ErrorPage holds the custom error middleware configuration.
This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/
properties:
query:
description: |-
@@ -1064,7 +1064,7 @@ spec:
service:
description: |-
Service defines the reference to a Kubernetes Service that will serve the error page.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/#service
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/#service
properties:
healthCheck:
description: Healthcheck defines health checks for ExternalName
@@ -1206,7 +1206,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -1293,7 +1293,7 @@ spec:
description: |-
ForwardAuth holds the forward auth middleware configuration.
This middleware delegates the request authentication to a Service.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/
properties:
addAuthCookiesToResponse:
description: AddAuthCookiesToResponse defines the list of cookies
@@ -1321,7 +1321,7 @@ spec:
authResponseHeadersRegex:
description: |-
AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#authresponseheadersregex
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex
type: string
forwardBody:
description: ForwardBody defines whether to send the request body
@@ -1330,7 +1330,7 @@ spec:
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#headerfield
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#headerfield
type: string
maxBodySize:
description: MaxBodySize defines the maximum body size in bytes
@@ -1796,13 +1796,13 @@ spec:
x-kubernetes-preserve-unknown-fields: true
description: |-
Plugin defines the middleware plugin configuration.
- More info: https://doc.traefik.io/traefik/plugins/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/#community-middlewares
type: object
rateLimit:
description: |-
RateLimit holds the rate limit configuration.
This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ratelimit/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/ratelimit/
properties:
average:
description: |-
@@ -2020,7 +2020,7 @@ spec:
Retry holds the retry middleware configuration.
This middleware reissues requests a given number of times to a backend server if that server does not reply.
As soon as the server answers, the middleware stops retrying, regardless of the response status.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/retry/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/retry/
properties:
attempts:
description: Attempts defines how many times the request should
@@ -2100,7 +2100,7 @@ spec:
openAPIV3Schema:
description: |-
MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/overview/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/overview/
properties:
apiVersion:
description: |-
@@ -2137,7 +2137,7 @@ spec:
description: |-
IPAllowList defines the IPAllowList middleware configuration.
This middleware accepts/refuses connections based on the client IP.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipallowlist/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipallowlist/
properties:
sourceRange:
description: SourceRange defines the allowed IPs (or ranges of
@@ -2151,7 +2151,7 @@ spec:
IPWhiteList defines the IPWhiteList middleware configuration.
This middleware accepts/refuses connections based on the client IP.
Deprecated: please use IPAllowList instead.
- More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipwhitelist/
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipwhitelist/
properties:
sourceRange:
description: SourceRange defines the allowed IPs (or ranges of
@@ -2190,7 +2190,7 @@ spec:
ServersTransport is the CRD implementation of a ServersTransport.
If no serversTransport is specified, the default@internal will be used.
The default@internal serversTransport is created from the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_1
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/serverstransport/
properties:
apiVersion:
description: |-
@@ -2359,7 +2359,7 @@ spec:
ServersTransportTCP is the CRD implementation of a TCPServersTransport.
If no tcpServersTransport is specified, a default one named default@internal will be used.
The default@internal tcpServersTransport can be configured in the static configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_3
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/serverstransport/
properties:
apiVersion:
description: |-
@@ -2513,7 +2513,7 @@ spec:
openAPIV3Schema:
description: |-
TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options
properties:
apiVersion:
description: |-
@@ -2538,14 +2538,14 @@ spec:
alpnProtocols:
description: |-
ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#alpn-protocols
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols
items:
type: string
type: array
cipherSuites:
description: |-
CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#cipher-suites
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites
items:
type: string
type: array
@@ -2573,7 +2573,7 @@ spec:
curvePreferences:
description: |-
CurvePreferences defines the preferred elliptic curves.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#curve-preferences
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences
items:
type: string
type: array
@@ -2633,7 +2633,7 @@ spec:
TLSStore is the CRD implementation of a Traefik TLS Store.
For the time being, only the TLSStore named default is supported.
This means that you cannot have two stores that are named default in different Kubernetes namespaces.
- More info: https://doc.traefik.io/traefik/v3.5/https/tls/#certificates-stores
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores
properties:
apiVersion:
description: |-
@@ -2731,7 +2731,7 @@ spec:
TraefikService object allows to:
- Apply weight to Services on load-balancing
- Mirror traffic on services
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-traefikservice
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/
properties:
apiVersion:
description: |-
@@ -2995,7 +2995,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -3123,7 +3123,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -3336,7 +3336,7 @@ spec:
sticky:
description: |-
Sticky defines the sticky sessions configuration.
- More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
@@ -3404,7 +3404,7 @@ spec:
sticky:
description: |-
Sticky defines whether sticky sessions are enabled.
- More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#stickiness-and-load-balancing
+ More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing
properties:
cookie:
description: Cookie defines the sticky cookie configuration.
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go
index a717d6cdd..6fda0077d 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go
@@ -13,18 +13,18 @@ type IngressRouteSpec struct {
Routes []Route `json:"routes"`
// EntryPoints defines the list of entry point names to bind to.
// Entry points have to be configured in the static configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
// Default: all.
EntryPoints []string `json:"entryPoints,omitempty"`
// TLS defines the TLS configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/router/#tls
TLS *TLS `json:"tls,omitempty"`
}
// Route holds the HTTP route configuration.
type Route struct {
// Match defines the router's rule.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/
Match string `json:"match"`
// Kind defines the kind of the route.
// Rule is the only supported kind.
@@ -32,62 +32,62 @@ type Route struct {
// +kubebuilder:validation:Enum=Rule
Kind string `json:"kind,omitempty"`
// Priority defines the router's priority.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#priority
// +kubebuilder:validation:Maximum=9223372036854774807
Priority int `json:"priority,omitempty"`
// Syntax defines the router's rule syntax.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax
// Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
Syntax string `json:"syntax,omitempty"`
// Services defines the list of Service.
// It can contain any combination of TraefikService and/or reference to a Kubernetes Service.
Services []Service `json:"services,omitempty"`
// Middlewares defines the list of references to Middleware resources.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-middleware
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/middleware/
Middlewares []MiddlewareRef `json:"middlewares,omitempty"`
// Observability defines the observability configuration for a router.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#observability
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/routing/observability/
Observability *dynamic.RouterObservabilityConfig `json:"observability,omitempty"`
}
// TLS holds the TLS configuration.
-// More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/overview/
type TLS struct {
// SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.
SecretName string `json:"secretName,omitempty"`
// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
// If not defined, the `default` TLSOption is used.
- // More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-options/
Options *TLSOptionRef `json:"options,omitempty"`
// Store defines the reference to the TLSStore, that will be used to store certificates.
// Please note that only `default` TLSStore can be used.
Store *TLSStoreRef `json:"store,omitempty"`
// CertResolver defines the name of the certificate resolver to use.
// Cert resolvers have to be configured in the static configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
CertResolver string `json:"certResolver,omitempty"`
// Domains defines the list of domains that will be used to issue certificates.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#domains
Domains []types.Domain `json:"domains,omitempty"`
}
// TLSOptionRef is a reference to a TLSOption resource.
type TLSOptionRef struct {
// Name defines the name of the referenced TLSOption.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
Name string `json:"name"`
// Namespace defines the namespace of the referenced TLSOption.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsoption/
Namespace string `json:"namespace,omitempty"`
}
// TLSStoreRef is a reference to a TLSStore resource.
type TLSStoreRef struct {
// Name defines the name of the referenced TLSStore.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
Name string `json:"name"`
// Namespace defines the namespace of the referenced TLSStore.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/tlsstore/
Namespace string `json:"namespace,omitempty"`
}
@@ -104,7 +104,7 @@ type LoadBalancerSpec struct {
// Namespace defines the namespace of the referenced Kubernetes Service or TraefikService.
Namespace string `json:"namespace,omitempty"`
// Sticky defines the sticky sessions configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
Sticky *dynamic.Sticky `json:"sticky,omitempty"`
// Port defines the port of a Kubernetes Service.
// This can be a reference to a named port.
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go
index 83fcd58b9..5ef08dc02 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go
@@ -13,25 +13,25 @@ type IngressRouteTCPSpec struct {
Routes []RouteTCP `json:"routes"`
// EntryPoints defines the list of entry point names to bind to.
// Entry points have to be configured in the static configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
// Default: all.
EntryPoints []string `json:"entryPoints,omitempty"`
// TLS defines the TLS configuration on a layer 4 / TCP Route.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/router/#tls
TLS *TLSTCP `json:"tls,omitempty"`
}
// RouteTCP holds the TCP route configuration.
type RouteTCP struct {
// Match defines the router's rule.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule_1
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/
Match string `json:"match"`
// Priority defines the router's priority.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority_1
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#priority
// +kubebuilder:validation:Maximum=9223372036854774807
Priority int `json:"priority,omitempty"`
// Syntax defines the router's rule syntax.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax_1
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax
// +kubebuilder:validation:Enum=v3;v2
// Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
Syntax string `json:"syntax,omitempty"`
@@ -42,7 +42,7 @@ type RouteTCP struct {
}
// TLSTCP holds the TLS configuration for an IngressRouteTCP.
-// More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/
type TLSTCP struct {
// SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.
SecretName string `json:"secretName,omitempty"`
@@ -50,17 +50,17 @@ type TLSTCP struct {
Passthrough bool `json:"passthrough,omitempty"`
// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
// If not defined, the `default` TLSOption is used.
- // More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#tls-options
Options *ObjectReference `json:"options,omitempty"`
// Store defines the reference to the TLSStore, that will be used to store certificates.
// Please note that only `default` TLSStore can be used.
Store *ObjectReference `json:"store,omitempty"`
// CertResolver defines the name of the certificate resolver to use.
// Cert resolvers have to be configured in the static configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/tls/certificate-resolvers/acme/
CertResolver string `json:"certResolver,omitempty"`
// Domains defines the list of domains that will be used to issue certificates.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/tls/#domains
Domains []types.Domain `json:"domains,omitempty"`
}
@@ -85,7 +85,7 @@ type ServiceTCP struct {
// Deprecated: TerminationDelay will not be supported in future APIVersions, please use ServersTransport to configure the TerminationDelay instead.
TerminationDelay *int `json:"terminationDelay,omitempty"`
// ProxyProtocol defines the PROXY protocol configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/services/#proxy-protocol
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/service/#proxy-protocol
// Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.
ProxyProtocol *dynamic.ProxyProtocol `json:"proxyProtocol,omitempty"`
// ServersTransport defines the name of ServersTransportTCP resource to use.
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go
index 4ce5c3be0..6e0038843 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go
@@ -11,7 +11,7 @@ type IngressRouteUDPSpec struct {
Routes []RouteUDP `json:"routes"`
// EntryPoints defines the list of entry point names to bind to.
// Entry points have to be configured in the static configuration.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/install-configuration/entrypoints/
// Default: all.
EntryPoints []string `json:"entryPoints,omitempty"`
}
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go
index 5689d647c..32354e2b5 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go
@@ -12,7 +12,7 @@ import (
// +kubebuilder:storageversion
// Middleware is the CRD implementation of a Traefik Middleware.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/overview/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/
type Middleware struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
@@ -52,7 +52,7 @@ type MiddlewareSpec struct {
ContentType *dynamic.ContentType `json:"contentType,omitempty"`
GrpcWeb *dynamic.GrpcWeb `json:"grpcWeb,omitempty"`
// Plugin defines the middleware plugin configuration.
- // More info: https://doc.traefik.io/traefik/plugins/
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/overview/#community-middlewares
Plugin map[string]apiextensionv1.JSON `json:"plugin,omitempty"`
}
@@ -60,7 +60,7 @@ type MiddlewareSpec struct {
// ErrorPage holds the custom error middleware configuration.
// This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/
type ErrorPage struct {
// Status defines which status or range of statuses should result in an error page.
// It can be either a status code as a number (500),
@@ -73,7 +73,7 @@ type ErrorPage struct {
// For example: "418": 404 or "410-418": 404
StatusRewrites map[string]int `json:"statusRewrites,omitempty"`
// Service defines the reference to a Kubernetes Service that will serve the error page.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/#service
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/errorpages/#service
Service Service `json:"service,omitempty"`
// Query defines the URL for the error page (hosted by service).
// The {status} variable can be used in order to insert the status code in the URL.
@@ -108,7 +108,7 @@ type CircuitBreaker struct {
// Chain holds the configuration of the chain middleware.
// This middleware enables to define reusable combinations of other pieces of middleware.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/chain/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/chain/
type Chain struct {
// Middlewares is the list of MiddlewareRef which composes the chain.
Middlewares []MiddlewareRef `json:"middlewares,omitempty"`
@@ -118,7 +118,7 @@ type Chain struct {
// BasicAuth holds the basic auth middleware configuration.
// This middleware restricts access to your services to known users.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/
type BasicAuth struct {
// Secret is the name of the referenced Kubernetes Secret containing user credentials.
Secret string `json:"secret,omitempty"`
@@ -129,7 +129,7 @@ type BasicAuth struct {
// Default: false.
RemoveHeader bool `json:"removeHeader,omitempty"`
// HeaderField defines a header field to store the authenticated user.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/basicauth/#headerfield
HeaderField string `json:"headerField,omitempty"`
}
@@ -137,7 +137,7 @@ type BasicAuth struct {
// DigestAuth holds the digest auth middleware configuration.
// This middleware restricts access to your services to known users.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/digestauth/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/
type DigestAuth struct {
// Secret is the name of the referenced Kubernetes Secret containing user credentials.
Secret string `json:"secret,omitempty"`
@@ -147,7 +147,7 @@ type DigestAuth struct {
// Default: traefik.
Realm string `json:"realm,omitempty"`
// HeaderField defines a header field to store the authenticated user.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/digestauth/#headerfield
HeaderField string `json:"headerField,omitempty"`
}
@@ -155,7 +155,7 @@ type DigestAuth struct {
// ForwardAuth holds the forward auth middleware configuration.
// This middleware delegates the request authentication to a Service.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/
type ForwardAuth struct {
// Address defines the authentication server address.
Address string `json:"address,omitempty"`
@@ -164,7 +164,7 @@ type ForwardAuth struct {
// AuthResponseHeaders defines the list of headers to copy from the authentication server response and set on forwarded request, replacing any existing conflicting headers.
AuthResponseHeaders []string `json:"authResponseHeaders,omitempty"`
// AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#authresponseheadersregex
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex
AuthResponseHeadersRegex string `json:"authResponseHeadersRegex,omitempty"`
// AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server.
// If not set or empty then all request headers are passed.
@@ -174,7 +174,7 @@ type ForwardAuth struct {
// AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response.
AddAuthCookiesToResponse []string `json:"addAuthCookiesToResponse,omitempty"`
// HeaderField defines a header field to store the authenticated user.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#headerfield
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/forwardauth/#headerfield
HeaderField string `json:"headerField,omitempty"`
// ForwardBody defines whether to send the request body to the authentication server.
ForwardBody bool `json:"forwardBody,omitempty"`
@@ -201,7 +201,7 @@ type ClientTLSWithCAOptional struct {
// RateLimit holds the rate limit configuration.
// This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ratelimit/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/ratelimit/
type RateLimit struct {
// Average is the maximum rate, by default in requests/s, allowed for the given source.
// It defaults to 0, which means no rate limiting.
@@ -286,7 +286,7 @@ type ClientTLS struct {
// Compress holds the compress middleware configuration.
// This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/compress/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/compress/
type Compress struct {
// ExcludedContentTypes defines the list of content types to compare the Content-Type header of the incoming requests and responses before compressing.
// `application/grpc` is always excluded.
@@ -308,7 +308,7 @@ type Compress struct {
// Retry holds the retry middleware configuration.
// This middleware reissues requests a given number of times to a backend server if that server does not reply.
// As soon as the server answers, the middleware stops retrying, regardless of the response status.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/retry/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/middlewares/retry/
type Retry struct {
// Attempts defines how many times the request should be retried.
// +kubebuilder:validation:Minimum=0
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go
index 4e9335dc4..49309b02c 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go
@@ -9,7 +9,7 @@ import (
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
-// More info: https://doc.traefik.io/traefik/v3.5/middlewares/overview/
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/overview/
type MiddlewareTCP struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
@@ -28,11 +28,11 @@ type MiddlewareTCPSpec struct {
// IPWhiteList defines the IPWhiteList middleware configuration.
// This middleware accepts/refuses connections based on the client IP.
// Deprecated: please use IPAllowList instead.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipwhitelist/
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipwhitelist/
IPWhiteList *dynamic.TCPIPWhiteList `json:"ipWhiteList,omitempty"`
// IPAllowList defines the IPAllowList middleware configuration.
// This middleware accepts/refuses connections based on the client IP.
- // More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipallowlist/
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/middlewares/ipallowlist/
IPAllowList *dynamic.TCPIPAllowList `json:"ipAllowList,omitempty"`
}
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go
index 2bba208e9..f797671fc 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go
@@ -13,7 +13,7 @@ import (
// ServersTransport is the CRD implementation of a ServersTransport.
// If no serversTransport is specified, the default@internal will be used.
// The default@internal serversTransport is created from the static configuration.
-// More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_1
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/serverstransport/
type ServersTransport struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransporttcp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransporttcp.go
index b6523b14d..dfb2299be 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransporttcp.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransporttcp.go
@@ -13,7 +13,7 @@ import (
// ServersTransportTCP is the CRD implementation of a TCPServersTransport.
// If no tcpServersTransport is specified, a default one named default@internal will be used.
// The default@internal tcpServersTransport can be configured in the static configuration.
-// More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_3
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/tcp/serverstransport/
type ServersTransportTCP struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go
index 385aa6acc..8adce08ef 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go
@@ -13,7 +13,7 @@ import (
// TraefikService object allows to:
// - Apply weight to Services on load-balancing
// - Mirror traffic on services
-// More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-traefikservice
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/
type TraefikService struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
@@ -49,7 +49,7 @@ type TraefikServiceSpec struct {
// +k8s:deepcopy-gen=true
// Mirroring holds the mirroring service configuration.
-// More info: https://doc.traefik.io/traefik/v3.5/routing/services/#mirroring-service
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#mirroring
type Mirroring struct {
LoadBalancerSpec `json:",inline"`
@@ -78,11 +78,11 @@ type MirrorService struct {
// +k8s:deepcopy-gen=true
// WeightedRoundRobin holds the weighted round-robin configuration.
-// More info: https://doc.traefik.io/traefik/v3.5/routing/services/#weighted-round-robin-service
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/load-balancing/service/#weighted-round-robin-wrr
type WeightedRoundRobin struct {
// Services defines the list of Kubernetes Service and/or TraefikService to load-balance, with weight.
Services []Service `json:"services,omitempty"`
// Sticky defines whether sticky sessions are enabled.
- // More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#stickiness-and-load-balancing
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing
Sticky *dynamic.Sticky `json:"sticky,omitempty"`
}
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go
index 5bdd5de97..07ab9954d 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go
@@ -9,7 +9,7 @@ import (
// +kubebuilder:storageversion
// TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
-// More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options
type TLSOption struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
@@ -32,17 +32,17 @@ type TLSOptionSpec struct {
// Default: None.
MaxVersion string `json:"maxVersion,omitempty"`
// CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.
- // More info: https://doc.traefik.io/traefik/v3.5/https/tls/#cipher-suites
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites
CipherSuites []string `json:"cipherSuites,omitempty"`
// CurvePreferences defines the preferred elliptic curves.
- // More info: https://doc.traefik.io/traefik/v3.5/https/tls/#curve-preferences
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences
CurvePreferences []string `json:"curvePreferences,omitempty"`
// ClientAuth defines the server's policy for TLS Client Authentication.
ClientAuth ClientAuth `json:"clientAuth,omitempty"`
// SniStrict defines whether Traefik allows connections from clients connections that do not specify a server_name extension.
SniStrict bool `json:"sniStrict,omitempty"`
// ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.
- // More info: https://doc.traefik.io/traefik/v3.5/https/tls/#alpn-protocols
+ // More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols
ALPNProtocols []string `json:"alpnProtocols,omitempty"`
// DisableSessionTickets disables TLS session resumption via session tickets.
DisableSessionTickets bool `json:"disableSessionTickets,omitempty"`
diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go
index 4c1d6a378..23a5d1a9a 100644
--- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go
+++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go
@@ -12,7 +12,7 @@ import (
// TLSStore is the CRD implementation of a Traefik TLS Store.
// For the time being, only the TLSStore named default is supported.
// This means that you cannot have two stores that are named default in different Kubernetes namespaces.
-// More info: https://doc.traefik.io/traefik/v3.5/https/tls/#certificates-stores
+// More info: https://doc.traefik.io/traefik/v3.5/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores
type TLSStore struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.