IngressRoute
traefik.io / v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object required
spec object required
IngressRouteSpec defines the desired state of IngressRoute.
entryPoints
[]string
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.7/reference/install-configuration/entrypoints/
Default: all.
ingressClassName
string
IngressClassName defines the name of the IngressClass cluster resource.
parentRefs []object
ParentRefs defines references to parent IngressRoute resources for multi-layer routing.
When set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers.
More info: https://doc.traefik.io/traefik/v3.7/routing/routers/#parentrefs
name
string required
Name defines the name of the referenced IngressRoute resource.
namespace
string
Namespace defines the namespace of the referenced IngressRoute resource.
routes []object required
Routes defines the list of routes.
kind
string
Kind defines the kind of the route.
Rule is the only supported kind.
If not defined, defaults to Rule.
enum:
Rule
match
string required
Match defines the router's rule.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/routing/rules-and-priority/
middlewares []object
Middlewares defines the list of references to Middleware resources.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/kubernetes/crd/http/middleware/
name
string required
Name defines the name of the referenced Middleware resource.
namespace
string
Namespace defines the namespace of the referenced Middleware resource.
observability object
Observability defines the observability configuration for a router.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/routing/observability/
accessLogs
boolean
AccessLogs enables access logs for this router.
metrics
boolean
Metrics enables metrics for this router.
traceVerbosity
string
TraceVerbosity defines the verbosity level of the tracing for this router.
enum:
minimal, detailed
tracing
boolean
Tracing enables tracing for this router.
priority
integer
Priority defines the router's priority.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/routing/rules-and-priority/#priority
maximum:
9.223372036854775e+18services []object
Services defines the list of Service.
It can contain any combination of TraefikService and/or reference to a Kubernetes Service.
healthCheck object
Healthcheck defines health checks for ExternalName services.
followRedirects
boolean
FollowRedirects defines whether redirects should be followed during the health check calls.
Default: true
headers
object
Headers defines custom headers to be sent to the health check endpoint.
hostname
string
Hostname defines the value of hostname in the Host header of the health check request.
interval
string | integer
Interval defines the frequency of the health check calls for healthy targets.
Default: 30s
method
string
Method defines the healthcheck method.
mode
string
Mode defines the health check mode.
If defined to grpc, will use the gRPC health check protocol to probe the server.
Default: http
path
string
Path defines the server URL path for the health check endpoint.
port
integer
Port defines the server URL port for the health check endpoint.
scheme
string
Scheme replaces the server URL scheme for the health check endpoint.
status
integer
Status defines the expected HTTP status code of the response to the health check request.
timeout
string | integer
Timeout defines the maximum duration Traefik will wait for a health check request before considering the server unhealthy.
Default: 5s
unhealthyInterval
string | integer
UnhealthyInterval defines the frequency of the health check calls for unhealthy targets.
When UnhealthyInterval is not defined, it defaults to the Interval value.
Default: 30s
kind
string
Kind defines the kind of the Service.
enum:
Service, TraefikServicemiddlewares []object
Middlewares defines the list of references to Middleware resources to apply to the service.
name
string required
Name defines the name of the referenced Middleware resource.
namespace
string
Namespace defines the namespace of the referenced Middleware resource.
name
string required
Name defines the name of the referenced Kubernetes Service or TraefikService.
The differentiation between the two is specified in the Kind field.
namespace
string
Namespace defines the namespace of the referenced Kubernetes Service or TraefikService.
nativeLB
boolean
NativeLB controls, when creating the load-balancer,
whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP.
The Kubernetes Service itself does load-balance to the pods.
By default, NativeLB is false.
nodePortLB
boolean
NodePortLB controls, when creating the load-balancer,
whether the LB's children are directly the nodes internal IPs using the nodePort when the service type is NodePort.
It allows services to be reachable when Traefik runs externally from the Kubernetes cluster but within the same network of the nodes.
By default, NodePortLB is false.
passHostHeader
boolean
PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.
By default, passHostHeader is true.
passiveHealthCheck object
PassiveHealthCheck defines passive health checks for ExternalName services.
failureWindow
string | integer
FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.
maxFailedAttempts
integer
MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.
port
string | integer
Port defines the port of a Kubernetes Service.
This can be a reference to a named port.
responseForwarding object
ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client.
flushInterval
string
FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body.
A negative value means to flush immediately after each write to the client.
This configuration is ignored when ReverseProxy recognizes a response as a streaming response;
for such responses, writes are flushed to the client immediately.
Default: 100ms
scheme
string
Scheme defines the scheme to use for the request to the upstream Kubernetes Service.
It defaults to https when Kubernetes Service port is 443, http otherwise.
serversTransport
string
ServersTransport defines the name of ServersTransport resource to use.
It allows to configure the transport between Traefik and your servers.
Can only be used on a Kubernetes Service.
sticky object
Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
cookie object
Cookie defines the sticky cookie configuration.
domain
string
Domain defines the host to which the cookie will be sent.
More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value
httpOnly
boolean
HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript.
maxAge
integer
MaxAge defines the number of seconds until the cookie expires.
When set to a negative number, the cookie expires immediately.
When set to zero, the cookie never expires.
name
string
Name defines the Cookie name.
path
string
Path defines the path that must exist in the requested URL for the browser to send the Cookie header.
When not provided the cookie will be sent on every request to the domain.
More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#pathpath-value
sameSite
string
SameSite defines the same site policy.
More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
enum:
none, lax, strict, None, Lax, Strict
secure
boolean
Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS).
strategy
string
Strategy defines the load balancing strategy between the servers.
Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).
RoundRobin value is deprecated and supported for backward compatibility.
enum:
wrr, p2c, hrw, leasttime, RoundRobin
weight
integer
Weight defines the weight and should only be specified when Name references a TraefikService object
(and to be precise, one that embeds a Weighted Round Robin).
minimum:
0
syntax
string
Syntax defines the router's rule syntax.
More info: https://doc.traefik.io/traefik/v3.7/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.
tls object
TLS defines the TLS configuration.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/routing/router/#tls
certResolver
string
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.7/reference/install-configuration/tls/certificate-resolvers/acme/
domains []object
Domains defines the list of domains that will be used to issue certificates.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/tls/tls-certificates/#domains
main
string
Main defines the main domain name.
sans
[]string
SANs defines the subject alternative domain names.
options object
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.7/reference/routing-configuration/http/tls/tls-options/
name
string required
Name defines the name of the referenced TLSOption.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/kubernetes/crd/http/tlsoption/
namespace
string
Namespace defines the namespace of the referenced TLSOption.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/kubernetes/crd/http/tlsoption/
secretName
string
SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.
store object
Store defines the reference to the TLSStore, that will be used to store certificates.
Please note that only `default` TLSStore can be used.
name
string required
Name defines the name of the referenced TLSStore.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/kubernetes/crd/http/tlsstore/
namespace
string
Namespace defines the namespace of the referenced TLSStore.
More info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/kubernetes/crd/http/tlsstore/
No matches. Try .spec.entryPoints for an exact path