2023-03-20 14:38:08 +00:00
---
apiVersion : apiextensions.k8s.io/v1
kind : CustomResourceDefinition
metadata :
annotations :
2023-11-22 10:28:06 +00:00
controller-gen.kubebuilder.io/version : v0.13.0
2023-03-20 14:38:08 +00:00
name : ingressroutes.traefik.io
spec :
group : traefik.io
names :
kind : IngressRoute
listKind : IngressRouteList
plural : ingressroutes
singular : ingressroute
scope : Namespaced
versions :
- name : v1alpha1
schema :
openAPIV3Schema :
description : IngressRoute is the CRD implementation of a Traefik HTTP Router.
properties :
apiVersion :
description : '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'
type : string
kind :
description : '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'
type : string
metadata :
type : object
spec :
description : IngressRouteSpec defines the desired state of IngressRoute.
properties :
entryPoints :
description : 'EntryPoints defines the list of entry point names to
bind to. Entry points have to be configured in the static configuration.
2023-03-21 11:00:46 +00:00
More info : https://doc.traefik.io/traefik/v3.0/routing/entrypoints/
2023-03-20 14:38:08 +00:00
Default : all.'
items :
type : string
type : array
routes :
description : Routes defines the list of routes.
items :
description : Route holds the HTTP route configuration.
properties :
kind :
description : Kind defines the kind of the route. Rule is the
only supported kind.
enum :
- Rule
type : string
match :
2023-03-21 11:00:46 +00:00
description: 'Match defines the router''s rule. More info : https://doc.traefik.io/traefik/v3.0/routing/routers/#rule'
2023-03-20 14:38:08 +00:00
type : string
middlewares :
description : 'Middlewares defines the list of references to
2023-03-21 11:00:46 +00:00
Middleware resources. More info : https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-middleware'
2023-03-20 14:38:08 +00:00
items :
description : MiddlewareRef is a reference to a Middleware
resource.
properties :
name :
description : Name defines the name of the referenced Middleware
resource.
type : string
namespace :
description : Namespace defines the namespace of the referenced
Middleware resource.
type : string
required :
- name
type : object
type : array
priority :
description : 'Priority defines the router' 's priority. More
2023-03-21 11:00:46 +00:00
info : https://doc.traefik.io/traefik/v3.0/routing/routers/#priority'
2023-03-20 14:38:08 +00:00
type : integer
services :
description : Services defines the list of Service. It can contain
any combination of TraefikService and/or reference to a Kubernetes
Service.
items :
description : Service defines an upstream HTTP service to proxy
traffic to.
properties :
kind :
description : Kind defines the kind of the Service.
enum :
- Service
- TraefikService
type : string
name :
description : Name defines the name of the referenced Kubernetes
Service or TraefikService. The differentiation between
the two is specified in the Kind field.
type : string
namespace :
description : Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService.
type : string
2023-03-20 15:46:05 +00:00
nativeLB :
description : 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.
type : boolean
2023-03-20 14:38:08 +00:00
passHostHeader :
description : PassHostHeader defines whether the client
Host header is forwarded to the upstream Kubernetes
Service. By default, passHostHeader is true.
type : boolean
port :
anyOf :
- type : integer
- type : string
description : Port defines the port of a Kubernetes Service.
This can be a reference to a named port.
x-kubernetes-int-or-string : true
responseForwarding :
description : ResponseForwarding defines how Traefik forwards
the response from the upstream Kubernetes Service to
the client.
properties :
flushInterval :
description : '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'
type : string
type : object
scheme :
description : 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.
type : string
serversTransport :
description : 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.
type : string
sticky :
description : 'Sticky defines the sticky sessions configuration.
2023-03-21 11:00:46 +00:00
More info : https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions'
2023-03-20 14:38:08 +00:00
properties :
cookie :
description : Cookie defines the sticky cookie configuration.
properties :
httpOnly :
description : HTTPOnly defines whether the cookie
can be accessed by client-side APIs, such as
JavaScript.
type : boolean
2024-01-18 08:30:06 +00:00
maxAge :
description : MaxAge indicates 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.
type : integer
2023-03-20 14:38:08 +00:00
name :
description : Name defines the Cookie name.
type : string
sameSite :
description : 'SameSite defines the same site policy.
More info : https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
type : string
secure :
description : Secure defines whether the cookie
can only be transmitted over an encrypted connection
(i.e. HTTPS).
type : boolean
type : object
type : object
strategy :
description : Strategy defines the load balancing strategy
between the servers. RoundRobin is the only supported
value at the moment.
type : string
weight :
description : 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).
type : integer
required :
- name
type : object
type : array
2024-01-23 10:34:05 +00:00
syntax :
description : 'Syntax defines the router' 's rule syntax. More
info : https://doc.traefik.io/traefik/v3.0/routing/routers/#rulesyntax'
type : string
2023-03-20 14:38:08 +00:00
required :
- kind
- match
type : object
type : array
tls :
2023-03-21 11:00:46 +00:00
description: 'TLS defines the TLS configuration. More info : https://doc.traefik.io/traefik/v3.0/routing/routers/#tls'
2023-03-20 14:38:08 +00:00
properties :
certResolver :
description : 'CertResolver defines the name of the certificate
resolver to use. Cert resolvers have to be configured in the
2023-03-21 11:00:46 +00:00
static configuration. More info : https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers'
2023-03-20 14:38:08 +00:00
type : string
domains :
description : 'Domains defines the list of domains that will be
2023-03-21 11:00:46 +00:00
used to issue certificates. More info : https://doc.traefik.io/traefik/v3.0/routing/routers/#domains'
2023-03-20 14:38:08 +00:00
items :
description : Domain holds a domain name with SANs.
properties :
main :
description : Main defines the main domain name.
type : string
sans :
description : SANs defines the subject alternative domain
names.
items :
type : string
type : array
type : object
type : array
options :
description : 'Options defines the reference to a TLSOption, that
specifies the parameters of the TLS connection. If not defined,
2023-03-21 11:00:46 +00:00
the `default` TLSOption is used. More info : https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options'
2023-03-20 14:38:08 +00:00
properties :
name :
description : 'Name defines the name of the referenced TLSOption.
2023-03-21 11:00:46 +00:00
More info : https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption'
2023-03-20 14:38:08 +00:00
type : string
namespace :
description : 'Namespace defines the namespace of the referenced
2023-03-21 11:00:46 +00:00
TLSOption. More info : https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption'
2023-03-20 14:38:08 +00:00
type : string
required :
- name
type : object
secretName :
description : SecretName is the name of the referenced Kubernetes
Secret to specify the certificate details.
type : string
store :
description : Store defines the reference to the TLSStore, that
will be used to store certificates. Please note that only `default`
TLSStore can be used.
properties :
name :
description : 'Name defines the name of the referenced TLSStore.
2023-03-21 11:00:46 +00:00
More info : https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore'
2023-03-20 14:38:08 +00:00
type : string
namespace :
description : 'Namespace defines the namespace of the referenced
2023-03-21 11:00:46 +00:00
TLSStore. More info : https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore'
2023-03-20 14:38:08 +00:00
type : string
required :
- name
type : object
type : object
required :
- routes
type : object
required :
- metadata
- spec
type : object
served : true
storage : true