v1alpha1

package
v2.11.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2024 License: MIT Imports: 8 Imported by: 14

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=traefik.io +groupGoName=Traefik

Index

Constants

View Source
const GroupName = "traefik.io"

GroupName is the group name for Traefik.

Variables

View Source
var (
	// SchemeBuilder collects the scheme builder functions.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme applies the SchemeBuilder functions to a specified scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = kschema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects.

Functions

func Kind

func Kind(kind string) kschema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind.

func Resource

func Resource(resource string) kschema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type BasicAuth

type BasicAuth struct {
	// Secret is the name of the referenced Kubernetes Secret containing user credentials.
	Secret string `json:"secret,omitempty"`
	// Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
	// Default: traefik.
	Realm string `json:"realm,omitempty"`
	// RemoveHeader sets the removeHeader option to true to remove the authorization header before forwarding the request to your service.
	// Default: false.
	RemoveHeader bool `json:"removeHeader,omitempty"`
	// HeaderField defines a header field to store the authenticated user.
	// More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/basicauth/#headerfield
	HeaderField string `json:"headerField,omitempty"`
}

BasicAuth holds the basic auth middleware configuration. This middleware restricts access to your services to known users. More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/basicauth/

func (*BasicAuth) DeepCopy

func (in *BasicAuth) DeepCopy() *BasicAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.

func (*BasicAuth) DeepCopyInto

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Certificate

type Certificate struct {
	// SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.
	SecretName string `json:"secretName"`
}

Certificate holds a secret name for the TLSStore resource.

func (*Certificate) DeepCopy

func (in *Certificate) DeepCopy() *Certificate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Certificate.

func (*Certificate) DeepCopyInto

func (in *Certificate) DeepCopyInto(out *Certificate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Chain

type Chain struct {
	// Middlewares is the list of MiddlewareRef which composes the chain.
	Middlewares []MiddlewareRef `json:"middlewares,omitempty"`
}

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/v2.11/middlewares/http/chain/

func (*Chain) DeepCopy

func (in *Chain) DeepCopy() *Chain

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chain.

func (*Chain) DeepCopyInto

func (in *Chain) DeepCopyInto(out *Chain)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CircuitBreaker

type CircuitBreaker struct {
	// Expression is the condition that triggers the tripped state.
	Expression string `json:"expression,omitempty" toml:"expression,omitempty" yaml:"expression,omitempty" export:"true"`
	// CheckPeriod is the interval between successive checks of the circuit breaker condition (when in standby state).
	CheckPeriod *intstr.IntOrString `json:"checkPeriod,omitempty" toml:"checkPeriod,omitempty" yaml:"checkPeriod,omitempty" export:"true"`
	// FallbackDuration is the duration for which the circuit breaker will wait before trying to recover (from a tripped state).
	FallbackDuration *intstr.IntOrString `json:"fallbackDuration,omitempty" toml:"fallbackDuration,omitempty" yaml:"fallbackDuration,omitempty" export:"true"`
	// RecoveryDuration is the duration for which the circuit breaker will try to recover (as soon as it is in recovering state).
	RecoveryDuration *intstr.IntOrString `json:"recoveryDuration,omitempty" toml:"recoveryDuration,omitempty" yaml:"recoveryDuration,omitempty" export:"true"`
}

CircuitBreaker holds the circuit breaker configuration.

func (*CircuitBreaker) DeepCopy

func (in *CircuitBreaker) DeepCopy() *CircuitBreaker

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreaker.

func (*CircuitBreaker) DeepCopyInto

func (in *CircuitBreaker) DeepCopyInto(out *CircuitBreaker)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientAuth

type ClientAuth struct {
	// SecretNames defines the names of the referenced Kubernetes Secret storing certificate details.
	SecretNames []string `json:"secretNames,omitempty"`
	// ClientAuthType defines the client authentication type to apply.
	// +kubebuilder:validation:Enum=NoClientCert;RequestClientCert;RequireAnyClientCert;VerifyClientCertIfGiven;RequireAndVerifyClientCert
	ClientAuthType string `json:"clientAuthType,omitempty"`
}

ClientAuth holds the TLS client authentication configuration.

func (*ClientAuth) DeepCopy

func (in *ClientAuth) DeepCopy() *ClientAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuth.

func (*ClientAuth) DeepCopyInto

func (in *ClientAuth) DeepCopyInto(out *ClientAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientTLS

type ClientTLS struct {
	// CASecret is the name of the referenced Kubernetes Secret containing the CA to validate the server certificate.
	// The CA certificate is extracted from key `tls.ca` or `ca.crt`.
	CASecret string `json:"caSecret,omitempty"`
	// CertSecret is the name of the referenced Kubernetes Secret containing the client certificate.
	// The client certificate is extracted from the keys `tls.crt` and `tls.key`.
	CertSecret string `json:"certSecret,omitempty"`
	// InsecureSkipVerify defines whether the server certificates should be validated.
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
	CAOptional         bool `json:"caOptional,omitempty"`
}

ClientTLS holds the client TLS configuration.

func (*ClientTLS) DeepCopy

func (in *ClientTLS) DeepCopy() *ClientTLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientTLS.

func (*ClientTLS) DeepCopyInto

func (in *ClientTLS) DeepCopyInto(out *ClientTLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DigestAuth

type DigestAuth struct {
	// Secret is the name of the referenced Kubernetes Secret containing user credentials.
	Secret string `json:"secret,omitempty"`
	// RemoveHeader defines whether to remove the authorization header before forwarding the request to the backend.
	RemoveHeader bool `json:"removeHeader,omitempty"`
	// Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
	// Default: traefik.
	Realm string `json:"realm,omitempty"`
	// HeaderField defines a header field to store the authenticated user.
	// More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/basicauth/#headerfield
	HeaderField string `json:"headerField,omitempty"`
}

DigestAuth holds the digest auth middleware configuration. This middleware restricts access to your services to known users. More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/digestauth/

func (*DigestAuth) DeepCopy

func (in *DigestAuth) DeepCopy() *DigestAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DigestAuth.

func (*DigestAuth) DeepCopyInto

func (in *DigestAuth) DeepCopyInto(out *DigestAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ErrorPage

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),
	// as multiple comma-separated numbers (500,502),
	// as ranges by separating two codes with a dash (500-599),
	// or a combination of the two (404,418,500-599).
	Status []string `json:"status,omitempty"`
	// Service defines the reference to a Kubernetes Service that will serve the error page.
	// More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/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.
	Query string `json:"query,omitempty"`
}

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/v2.11/middlewares/http/errorpages/

func (*ErrorPage) DeepCopy

func (in *ErrorPage) DeepCopy() *ErrorPage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorPage.

func (*ErrorPage) DeepCopyInto

func (in *ErrorPage) DeepCopyInto(out *ErrorPage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardAuth

type ForwardAuth struct {
	// Address defines the authentication server address.
	Address string `json:"address,omitempty"`
	// TrustForwardHeader defines whether to trust (ie: forward) all X-Forwarded-* headers.
	TrustForwardHeader bool `json:"trustForwardHeader,omitempty"`
	// 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/v2.11/middlewares/http/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.
	AuthRequestHeaders []string `json:"authRequestHeaders,omitempty"`
	// TLS defines the configuration used to secure the connection to the authentication server.
	TLS *ClientTLS `json:"tls,omitempty"`
}

ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/forwardauth/

func (*ForwardAuth) DeepCopy

func (in *ForwardAuth) DeepCopy() *ForwardAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardAuth.

func (*ForwardAuth) DeepCopyInto

func (in *ForwardAuth) DeepCopyInto(out *ForwardAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ForwardingTimeouts

type ForwardingTimeouts struct {
	// DialTimeout is the amount of time to wait until a connection to a backend server can be established.
	DialTimeout *intstr.IntOrString `json:"dialTimeout,omitempty"`
	// ResponseHeaderTimeout is the amount of time to wait for a server's response headers after fully writing the request (including its body, if any).
	ResponseHeaderTimeout *intstr.IntOrString `json:"responseHeaderTimeout,omitempty"`
	// IdleConnTimeout is the maximum period for which an idle HTTP keep-alive connection will remain open before closing itself.
	IdleConnTimeout *intstr.IntOrString `json:"idleConnTimeout,omitempty"`
	// ReadIdleTimeout is the timeout after which a health check using ping frame will be carried out if no frame is received on the HTTP/2 connection.
	ReadIdleTimeout *intstr.IntOrString `json:"readIdleTimeout,omitempty"`
	// PingTimeout is the timeout after which the HTTP/2 connection will be closed if a response to ping is not received.
	PingTimeout *intstr.IntOrString `json:"pingTimeout,omitempty"`
}

ForwardingTimeouts holds the timeout configurations for forwarding requests to the backend servers.

func (*ForwardingTimeouts) DeepCopy

func (in *ForwardingTimeouts) DeepCopy() *ForwardingTimeouts

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingTimeouts.

func (*ForwardingTimeouts) DeepCopyInto

func (in *ForwardingTimeouts) DeepCopyInto(out *ForwardingTimeouts)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressRoute

type IngressRoute struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec IngressRouteSpec `json:"spec"`
}

IngressRoute is the CRD implementation of a Traefik HTTP Router.

func (*IngressRoute) DeepCopy

func (in *IngressRoute) DeepCopy() *IngressRoute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRoute.

func (*IngressRoute) DeepCopyInto

func (in *IngressRoute) DeepCopyInto(out *IngressRoute)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressRoute) DeepCopyObject

func (in *IngressRoute) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRouteList

type IngressRouteList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of IngressRoute.
	Items []IngressRoute `json:"items"`
}

IngressRouteList is a collection of IngressRoute.

func (*IngressRouteList) DeepCopy

func (in *IngressRouteList) DeepCopy() *IngressRouteList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteList.

func (*IngressRouteList) DeepCopyInto

func (in *IngressRouteList) DeepCopyInto(out *IngressRouteList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressRouteList) DeepCopyObject

func (in *IngressRouteList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRouteSpec

type IngressRouteSpec struct {
	// Routes defines the list of routes.
	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/v2.11/routing/entrypoints/
	// Default: all.
	EntryPoints []string `json:"entryPoints,omitempty"`
	// TLS defines the TLS configuration.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#tls
	TLS *TLS `json:"tls,omitempty"`
}

IngressRouteSpec defines the desired state of IngressRoute.

func (*IngressRouteSpec) DeepCopy

func (in *IngressRouteSpec) DeepCopy() *IngressRouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteSpec.

func (*IngressRouteSpec) DeepCopyInto

func (in *IngressRouteSpec) DeepCopyInto(out *IngressRouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressRouteTCP

type IngressRouteTCP struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec IngressRouteTCPSpec `json:"spec"`
}

IngressRouteTCP is the CRD implementation of a Traefik TCP Router.

func (*IngressRouteTCP) DeepCopy

func (in *IngressRouteTCP) DeepCopy() *IngressRouteTCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteTCP.

func (*IngressRouteTCP) DeepCopyInto

func (in *IngressRouteTCP) DeepCopyInto(out *IngressRouteTCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressRouteTCP) DeepCopyObject

func (in *IngressRouteTCP) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRouteTCPList

type IngressRouteTCPList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of IngressRouteTCP.
	Items []IngressRouteTCP `json:"items"`
}

IngressRouteTCPList is a collection of IngressRouteTCP.

func (*IngressRouteTCPList) DeepCopy

func (in *IngressRouteTCPList) DeepCopy() *IngressRouteTCPList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteTCPList.

func (*IngressRouteTCPList) DeepCopyInto

func (in *IngressRouteTCPList) DeepCopyInto(out *IngressRouteTCPList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressRouteTCPList) DeepCopyObject

func (in *IngressRouteTCPList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRouteTCPSpec

type IngressRouteTCPSpec struct {
	// Routes defines the list of routes.
	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/v2.11/routing/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/v2.11/routing/routers/#tls_1
	TLS *TLSTCP `json:"tls,omitempty"`
}

IngressRouteTCPSpec defines the desired state of IngressRouteTCP.

func (*IngressRouteTCPSpec) DeepCopy

func (in *IngressRouteTCPSpec) DeepCopy() *IngressRouteTCPSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteTCPSpec.

func (*IngressRouteTCPSpec) DeepCopyInto

func (in *IngressRouteTCPSpec) DeepCopyInto(out *IngressRouteTCPSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressRouteUDP

type IngressRouteUDP struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec IngressRouteUDPSpec `json:"spec"`
}

IngressRouteUDP is a CRD implementation of a Traefik UDP Router.

func (*IngressRouteUDP) DeepCopy

func (in *IngressRouteUDP) DeepCopy() *IngressRouteUDP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteUDP.

func (*IngressRouteUDP) DeepCopyInto

func (in *IngressRouteUDP) DeepCopyInto(out *IngressRouteUDP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressRouteUDP) DeepCopyObject

func (in *IngressRouteUDP) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRouteUDPList

type IngressRouteUDPList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of IngressRouteUDP.
	Items []IngressRouteUDP `json:"items"`
}

IngressRouteUDPList is a collection of IngressRouteUDP.

func (*IngressRouteUDPList) DeepCopy

func (in *IngressRouteUDPList) DeepCopy() *IngressRouteUDPList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteUDPList.

func (*IngressRouteUDPList) DeepCopyInto

func (in *IngressRouteUDPList) DeepCopyInto(out *IngressRouteUDPList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressRouteUDPList) DeepCopyObject

func (in *IngressRouteUDPList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRouteUDPSpec

type IngressRouteUDPSpec struct {
	// Routes defines the list of routes.
	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/v2.11/routing/entrypoints/
	// Default: all.
	EntryPoints []string `json:"entryPoints,omitempty"`
}

IngressRouteUDPSpec defines the desired state of a IngressRouteUDP.

func (*IngressRouteUDPSpec) DeepCopy

func (in *IngressRouteUDPSpec) DeepCopy() *IngressRouteUDPSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteUDPSpec.

func (*IngressRouteUDPSpec) DeepCopyInto

func (in *IngressRouteUDPSpec) DeepCopyInto(out *IngressRouteUDPSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// Name defines the name of the referenced Kubernetes Service or TraefikService.
	// The differentiation between the two is specified in the Kind field.
	Name string `json:"name"`
	// Kind defines the kind of the Service.
	// +kubebuilder:validation:Enum=Service;TraefikService
	Kind string `json:"kind,omitempty"`
	// 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/v2.11/routing/services/#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.
	Port intstr.IntOrString `json:"port,omitempty"`
	// 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.
	Scheme string `json:"scheme,omitempty"`
	// Strategy defines the load balancing strategy between the servers.
	// RoundRobin is the only supported value at the moment.
	Strategy string `json:"strategy,omitempty"`
	// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.
	// By default, passHostHeader is true.
	PassHostHeader *bool `json:"passHostHeader,omitempty"`
	// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client.
	ResponseForwarding *dynamic.ResponseForwarding `json:"responseForwarding,omitempty"`
	// 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.
	ServersTransport string `json:"serversTransport,omitempty"`
	// 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).
	Weight *int `json:"weight,omitempty"`
	// 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.
	NativeLB bool `json:"nativeLB,omitempty"`
}

LoadBalancerSpec defines the desired state of LoadBalancer. It can reference either a Kubernetes Service object (a load-balancer of servers), or a TraefikService object (a load-balancer of Traefik services).

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Middleware

type Middleware struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec MiddlewareSpec `json:"spec"`
}

Middleware is the CRD implementation of a Traefik Middleware. More info: https://doc.traefik.io/traefik/v2.11/middlewares/http/overview/

func (*Middleware) DeepCopy

func (in *Middleware) DeepCopy() *Middleware

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Middleware.

func (*Middleware) DeepCopyInto

func (in *Middleware) DeepCopyInto(out *Middleware)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Middleware) DeepCopyObject

func (in *Middleware) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MiddlewareList

type MiddlewareList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of Middleware.
	Items []Middleware `json:"items"`
}

MiddlewareList is a collection of Middleware resources.

func (*MiddlewareList) DeepCopy

func (in *MiddlewareList) DeepCopy() *MiddlewareList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareList.

func (*MiddlewareList) DeepCopyInto

func (in *MiddlewareList) DeepCopyInto(out *MiddlewareList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MiddlewareList) DeepCopyObject

func (in *MiddlewareList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MiddlewareRef

type MiddlewareRef struct {
	// Name defines the name of the referenced Middleware resource.
	Name string `json:"name"`
	// Namespace defines the namespace of the referenced Middleware resource.
	Namespace string `json:"namespace,omitempty"`
}

MiddlewareRef is a reference to a Middleware resource.

func (*MiddlewareRef) DeepCopy

func (in *MiddlewareRef) DeepCopy() *MiddlewareRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareRef.

func (*MiddlewareRef) DeepCopyInto

func (in *MiddlewareRef) DeepCopyInto(out *MiddlewareRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MiddlewareSpec

type MiddlewareSpec struct {
	AddPrefix         *dynamic.AddPrefix         `json:"addPrefix,omitempty"`
	StripPrefix       *dynamic.StripPrefix       `json:"stripPrefix,omitempty"`
	StripPrefixRegex  *dynamic.StripPrefixRegex  `json:"stripPrefixRegex,omitempty"`
	ReplacePath       *dynamic.ReplacePath       `json:"replacePath,omitempty"`
	ReplacePathRegex  *dynamic.ReplacePathRegex  `json:"replacePathRegex,omitempty"`
	Chain             *Chain                     `json:"chain,omitempty"`
	IPWhiteList       *dynamic.IPWhiteList       `json:"ipWhiteList,omitempty"`
	IPAllowList       *dynamic.IPAllowList       `json:"ipAllowList,omitempty"`
	Headers           *dynamic.Headers           `json:"headers,omitempty"`
	Errors            *ErrorPage                 `json:"errors,omitempty"`
	RateLimit         *RateLimit                 `json:"rateLimit,omitempty"`
	RedirectRegex     *dynamic.RedirectRegex     `json:"redirectRegex,omitempty"`
	RedirectScheme    *dynamic.RedirectScheme    `json:"redirectScheme,omitempty"`
	BasicAuth         *BasicAuth                 `json:"basicAuth,omitempty"`
	DigestAuth        *DigestAuth                `json:"digestAuth,omitempty"`
	ForwardAuth       *ForwardAuth               `json:"forwardAuth,omitempty"`
	InFlightReq       *dynamic.InFlightReq       `json:"inFlightReq,omitempty"`
	Buffering         *dynamic.Buffering         `json:"buffering,omitempty"`
	CircuitBreaker    *CircuitBreaker            `json:"circuitBreaker,omitempty"`
	Compress          *dynamic.Compress          `json:"compress,omitempty"`
	PassTLSClientCert *dynamic.PassTLSClientCert `json:"passTLSClientCert,omitempty"`
	Retry             *Retry                     `json:"retry,omitempty"`
	ContentType       *dynamic.ContentType       `json:"contentType,omitempty"`
	// Plugin defines the middleware plugin configuration.
	// More info: https://doc.traefik.io/traefik/plugins/
	Plugin map[string]apiextensionv1.JSON `json:"plugin,omitempty"`
}

MiddlewareSpec defines the desired state of a Middleware.

func (*MiddlewareSpec) DeepCopy

func (in *MiddlewareSpec) DeepCopy() *MiddlewareSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareSpec.

func (*MiddlewareSpec) DeepCopyInto

func (in *MiddlewareSpec) DeepCopyInto(out *MiddlewareSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MiddlewareTCP

type MiddlewareTCP struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec MiddlewareTCPSpec `json:"spec"`
}

MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. More info: https://doc.traefik.io/traefik/v2.11/middlewares/overview/

func (*MiddlewareTCP) DeepCopy

func (in *MiddlewareTCP) DeepCopy() *MiddlewareTCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareTCP.

func (*MiddlewareTCP) DeepCopyInto

func (in *MiddlewareTCP) DeepCopyInto(out *MiddlewareTCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MiddlewareTCP) DeepCopyObject

func (in *MiddlewareTCP) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MiddlewareTCPList

type MiddlewareTCPList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of MiddlewareTCP.
	Items []MiddlewareTCP `json:"items"`
}

MiddlewareTCPList is a collection of MiddlewareTCP resources.

func (*MiddlewareTCPList) DeepCopy

func (in *MiddlewareTCPList) DeepCopy() *MiddlewareTCPList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareTCPList.

func (*MiddlewareTCPList) DeepCopyInto

func (in *MiddlewareTCPList) DeepCopyInto(out *MiddlewareTCPList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MiddlewareTCPList) DeepCopyObject

func (in *MiddlewareTCPList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MiddlewareTCPSpec

type MiddlewareTCPSpec struct {
	// InFlightConn defines the InFlightConn middleware configuration.
	InFlightConn *dynamic.TCPInFlightConn `json:"inFlightConn,omitempty"`
	// 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/v2.11/middlewares/tcp/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/v2.11/middlewares/tcp/ipallowlist/
	IPAllowList *dynamic.TCPIPAllowList `json:"ipAllowList,omitempty"`
}

MiddlewareTCPSpec defines the desired state of a MiddlewareTCP.

func (*MiddlewareTCPSpec) DeepCopy

func (in *MiddlewareTCPSpec) DeepCopy() *MiddlewareTCPSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MiddlewareTCPSpec.

func (*MiddlewareTCPSpec) DeepCopyInto

func (in *MiddlewareTCPSpec) DeepCopyInto(out *MiddlewareTCPSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirrorService

type MirrorService struct {
	LoadBalancerSpec `json:",inline"`

	// Percent defines the part of the traffic to mirror.
	// Supported values: 0 to 100.
	Percent int `json:"percent,omitempty"`
}

MirrorService holds the mirror configuration.

func (*MirrorService) DeepCopy

func (in *MirrorService) DeepCopy() *MirrorService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirrorService.

func (*MirrorService) DeepCopyInto

func (in *MirrorService) DeepCopyInto(out *MirrorService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Mirroring

type Mirroring struct {
	LoadBalancerSpec `json:",inline"`

	// MaxBodySize defines the maximum size allowed for the body of the request.
	// If the body is larger, the request is not mirrored.
	// Default value is -1, which means unlimited size.
	MaxBodySize *int64 `json:"maxBodySize,omitempty"`
	// Mirrors defines the list of mirrors where Traefik will duplicate the traffic.
	Mirrors []MirrorService `json:"mirrors,omitempty"`
}

Mirroring holds the mirroring service configuration. More info: https://doc.traefik.io/traefik/v2.11/routing/services/#mirroring-service

func (*Mirroring) DeepCopy

func (in *Mirroring) DeepCopy() *Mirroring

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mirroring.

func (*Mirroring) DeepCopyInto

func (in *Mirroring) DeepCopyInto(out *Mirroring)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectReference

type ObjectReference struct {
	// Name defines the name of the referenced Traefik resource.
	Name string `json:"name"`
	// Namespace defines the namespace of the referenced Traefik resource.
	Namespace string `json:"namespace,omitempty"`
}

ObjectReference is a generic reference to a Traefik resource.

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type 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.
	// The rate is actually defined by dividing Average by Period. So for a rate below 1req/s,
	// one needs to define a Period larger than a second.
	Average int64 `json:"average,omitempty"`
	// Period, in combination with Average, defines the actual maximum rate, such as:
	// r = Average / Period. It defaults to a second.
	Period *intstr.IntOrString `json:"period,omitempty"`
	// Burst is the maximum number of requests allowed to arrive in the same arbitrarily small period of time.
	// It defaults to 1.
	Burst *int64 `json:"burst,omitempty"`
	// SourceCriterion defines what criterion is used to group requests as originating from a common source.
	// If several strategies are defined at the same time, an error will be raised.
	// If none are set, the default is to use the request's remote address field (as an ipStrategy).
	SourceCriterion *dynamic.SourceCriterion `json:"sourceCriterion,omitempty"`
}

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/v2.11/middlewares/http/ratelimit/

func (*RateLimit) DeepCopy

func (in *RateLimit) DeepCopy() *RateLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.

func (*RateLimit) DeepCopyInto

func (in *RateLimit) DeepCopyInto(out *RateLimit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Retry

type Retry struct {
	// Attempts defines how many times the request should be retried.
	Attempts int `json:"attempts,omitempty"`
	// InitialInterval defines the first wait time in the exponential backoff series.
	// The maximum interval is calculated as twice the initialInterval.
	// If unspecified, requests will be retried immediately.
	// The value of initialInterval should be provided in seconds or as a valid duration format,
	// see https://pkg.go.dev/time#ParseDuration.
	InitialInterval intstr.IntOrString `json:"initialInterval,omitempty"`
}

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/v2.11/middlewares/http/retry/

func (*Retry) DeepCopy

func (in *Retry) DeepCopy() *Retry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retry.

func (*Retry) DeepCopyInto

func (in *Retry) DeepCopyInto(out *Retry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Route

type Route struct {
	// Match defines the router's rule.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#rule
	Match string `json:"match"`
	// Kind defines the kind of the route.
	// Rule is the only supported kind.
	// +kubebuilder:validation:Enum=Rule
	Kind string `json:"kind"`
	// Priority defines the router's priority.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#priority
	Priority int `json:"priority,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/v2.11/routing/providers/kubernetes-crd/#kind-middleware
	Middlewares []MiddlewareRef `json:"middlewares,omitempty"`
}

Route holds the HTTP route configuration.

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteTCP

type RouteTCP struct {
	// Match defines the router's rule.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#rule_1
	Match string `json:"match"`
	// Priority defines the router's priority.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#priority_1
	Priority int `json:"priority,omitempty"`
	// Services defines the list of TCP services.
	Services []ServiceTCP `json:"services,omitempty"`
	// Middlewares defines the list of references to MiddlewareTCP resources.
	Middlewares []ObjectReference `json:"middlewares,omitempty"`
}

RouteTCP holds the TCP route configuration.

func (*RouteTCP) DeepCopy

func (in *RouteTCP) DeepCopy() *RouteTCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTCP.

func (*RouteTCP) DeepCopyInto

func (in *RouteTCP) DeepCopyInto(out *RouteTCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteUDP

type RouteUDP struct {
	// Services defines the list of UDP services.
	Services []ServiceUDP `json:"services,omitempty"`
}

RouteUDP holds the UDP route configuration.

func (*RouteUDP) DeepCopy

func (in *RouteUDP) DeepCopy() *RouteUDP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteUDP.

func (*RouteUDP) DeepCopyInto

func (in *RouteUDP) DeepCopyInto(out *RouteUDP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServersTransport

type ServersTransport struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec ServersTransportSpec `json:"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/v2.11/routing/services/#serverstransport_1

func (*ServersTransport) DeepCopy

func (in *ServersTransport) DeepCopy() *ServersTransport

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransport.

func (*ServersTransport) DeepCopyInto

func (in *ServersTransport) DeepCopyInto(out *ServersTransport)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServersTransport) DeepCopyObject

func (in *ServersTransport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServersTransportList

type ServersTransportList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of ServersTransport.
	Items []ServersTransport `json:"items"`
}

ServersTransportList is a collection of ServersTransport resources.

func (*ServersTransportList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransportList.

func (*ServersTransportList) DeepCopyInto

func (in *ServersTransportList) DeepCopyInto(out *ServersTransportList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServersTransportList) DeepCopyObject

func (in *ServersTransportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServersTransportSpec

type ServersTransportSpec struct {
	// ServerName defines the server name used to contact the server.
	ServerName string `json:"serverName,omitempty"`
	// InsecureSkipVerify disables SSL certificate verification.
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
	// RootCAsSecrets defines a list of CA secret used to validate self-signed certificate.
	RootCAsSecrets []string `json:"rootCAsSecrets,omitempty"`
	// CertificatesSecrets defines a list of secret storing client certificates for mTLS.
	CertificatesSecrets []string `json:"certificatesSecrets,omitempty"`
	// MaxIdleConnsPerHost controls the maximum idle (keep-alive) to keep per-host.
	MaxIdleConnsPerHost int `json:"maxIdleConnsPerHost,omitempty"`
	// ForwardingTimeouts defines the timeouts for requests forwarded to the backend servers.
	ForwardingTimeouts *ForwardingTimeouts `json:"forwardingTimeouts,omitempty"`
	// DisableHTTP2 disables HTTP/2 for connections with backend servers.
	DisableHTTP2 bool `json:"disableHTTP2,omitempty"`
	// PeerCertURI defines the peer cert URI used to match against SAN URI during the peer certificate verification.
	PeerCertURI string `json:"peerCertURI,omitempty"`
}

ServersTransportSpec defines the desired state of a ServersTransport.

func (*ServersTransportSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransportSpec.

func (*ServersTransportSpec) DeepCopyInto

func (in *ServersTransportSpec) DeepCopyInto(out *ServersTransportSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Service

type Service struct {
	LoadBalancerSpec `json:",inline"`
}

Service defines an upstream HTTP service to proxy traffic to.

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceTCP

type ServiceTCP struct {
	// Name defines the name of the referenced Kubernetes Service.
	Name string `json:"name"`
	// Namespace defines the namespace of the referenced Kubernetes Service.
	Namespace string `json:"namespace,omitempty"`
	// Port defines the port of a Kubernetes Service.
	// This can be a reference to a named port.
	Port intstr.IntOrString `json:"port"`
	// Weight defines the weight used when balancing requests between multiple Kubernetes Service.
	Weight *int `json:"weight,omitempty"`
	// TerminationDelay defines the deadline that the proxy sets, after one of its connected peers indicates
	// it has closed the writing capability of its connection, to close the reading capability as well,
	// hence fully terminating the connection.
	// It is a duration in milliseconds, defaulting to 100.
	// A negative value means an infinite deadline (i.e. the reading capability is never closed).
	TerminationDelay *int `json:"terminationDelay,omitempty"`
	// ProxyProtocol defines the PROXY protocol configuration.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/services/#proxy-protocol
	ProxyProtocol *dynamic.ProxyProtocol `json:"proxyProtocol,omitempty"`
	// 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.
	NativeLB bool `json:"nativeLB,omitempty"`
}

ServiceTCP defines an upstream TCP service to proxy traffic to.

func (*ServiceTCP) DeepCopy

func (in *ServiceTCP) DeepCopy() *ServiceTCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceTCP.

func (*ServiceTCP) DeepCopyInto

func (in *ServiceTCP) DeepCopyInto(out *ServiceTCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceUDP

type ServiceUDP struct {
	// Name defines the name of the referenced Kubernetes Service.
	Name string `json:"name"`
	// Namespace defines the namespace of the referenced Kubernetes Service.
	Namespace string `json:"namespace,omitempty"`
	// Port defines the port of a Kubernetes Service.
	// This can be a reference to a named port.
	Port intstr.IntOrString `json:"port"`
	// Weight defines the weight used when balancing requests between multiple Kubernetes Service.
	Weight *int `json:"weight,omitempty"`
	// 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.
	NativeLB bool `json:"nativeLB,omitempty"`
}

ServiceUDP defines an upstream UDP service to proxy traffic to.

func (*ServiceUDP) DeepCopy

func (in *ServiceUDP) DeepCopy() *ServiceUDP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceUDP.

func (*ServiceUDP) DeepCopyInto

func (in *ServiceUDP) DeepCopyInto(out *ServiceUDP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLS

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/v2.11/https/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/v2.11/https/acme/#certificate-resolvers
	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/v2.11/routing/routers/#domains
	Domains []types.Domain `json:"domains,omitempty"`
}

TLS holds the TLS configuration. More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#tls

func (*TLS) DeepCopy

func (in *TLS) DeepCopy() *TLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.

func (*TLS) DeepCopyInto

func (in *TLS) DeepCopyInto(out *TLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSOption

type TLSOption struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec TLSOptionSpec `json:"spec"`
}

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/v2.11/https/tls/#tls-options

func (*TLSOption) DeepCopy

func (in *TLSOption) DeepCopy() *TLSOption

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOption.

func (*TLSOption) DeepCopyInto

func (in *TLSOption) DeepCopyInto(out *TLSOption)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSOption) DeepCopyObject

func (in *TLSOption) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSOptionList

type TLSOptionList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of TLSOption.
	Items []TLSOption `json:"items"`
}

TLSOptionList is a collection of TLSOption resources.

func (*TLSOptionList) DeepCopy

func (in *TLSOptionList) DeepCopy() *TLSOptionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOptionList.

func (*TLSOptionList) DeepCopyInto

func (in *TLSOptionList) DeepCopyInto(out *TLSOptionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSOptionList) DeepCopyObject

func (in *TLSOptionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSOptionRef

type TLSOptionRef struct {
	// Name defines the name of the referenced TLSOption.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/providers/kubernetes-crd/#kind-tlsoption
	Name string `json:"name"`
	// Namespace defines the namespace of the referenced TLSOption.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/providers/kubernetes-crd/#kind-tlsoption
	Namespace string `json:"namespace,omitempty"`
}

TLSOptionRef is a reference to a TLSOption resource.

func (*TLSOptionRef) DeepCopy

func (in *TLSOptionRef) DeepCopy() *TLSOptionRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOptionRef.

func (*TLSOptionRef) DeepCopyInto

func (in *TLSOptionRef) DeepCopyInto(out *TLSOptionRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSOptionSpec

type TLSOptionSpec struct {
	// MinVersion defines the minimum TLS version that Traefik will accept.
	// Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13.
	// Default: VersionTLS10.
	MinVersion string `json:"minVersion,omitempty"`
	// MaxVersion defines the maximum TLS version that Traefik will accept.
	// Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13.
	// 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/v2.11/https/tls/#cipher-suites
	CipherSuites []string `json:"cipherSuites,omitempty"`
	// CurvePreferences defines the preferred elliptic curves in a specific order.
	// More info: https://doc.traefik.io/traefik/v2.11/https/tls/#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"`
	// PreferServerCipherSuites defines whether the server chooses a cipher suite among his own instead of among the client's.
	// It is enabled automatically when minVersion or maxVersion is set.
	// Deprecated: https://github.com/golang/go/issues/45430
	PreferServerCipherSuites bool `json:"preferServerCipherSuites,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/v2.11/https/tls/#alpn-protocols
	ALPNProtocols []string `json:"alpnProtocols,omitempty"`
}

TLSOptionSpec defines the desired state of a TLSOption.

func (*TLSOptionSpec) DeepCopy

func (in *TLSOptionSpec) DeepCopy() *TLSOptionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOptionSpec.

func (*TLSOptionSpec) DeepCopyInto

func (in *TLSOptionSpec) DeepCopyInto(out *TLSOptionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSStore

type TLSStore struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec TLSStoreSpec `json:"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/v2.11/https/tls/#certificates-stores

func (*TLSStore) DeepCopy

func (in *TLSStore) DeepCopy() *TLSStore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSStore.

func (*TLSStore) DeepCopyInto

func (in *TLSStore) DeepCopyInto(out *TLSStore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSStore) DeepCopyObject

func (in *TLSStore) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSStoreList

type TLSStoreList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of TLSStore.
	Items []TLSStore `json:"items"`
}

TLSStoreList is a collection of TLSStore resources.

func (*TLSStoreList) DeepCopy

func (in *TLSStoreList) DeepCopy() *TLSStoreList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSStoreList.

func (*TLSStoreList) DeepCopyInto

func (in *TLSStoreList) DeepCopyInto(out *TLSStoreList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSStoreList) DeepCopyObject

func (in *TLSStoreList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSStoreRef

type TLSStoreRef struct {
	// Name defines the name of the referenced TLSStore.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/providers/kubernetes-crd/#kind-tlsstore
	Name string `json:"name"`
	// Namespace defines the namespace of the referenced TLSStore.
	// More info: https://doc.traefik.io/traefik/v2.11/routing/providers/kubernetes-crd/#kind-tlsstore
	Namespace string `json:"namespace,omitempty"`
}

TLSStoreRef is a reference to a TLSStore resource.

func (*TLSStoreRef) DeepCopy

func (in *TLSStoreRef) DeepCopy() *TLSStoreRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSStoreRef.

func (*TLSStoreRef) DeepCopyInto

func (in *TLSStoreRef) DeepCopyInto(out *TLSStoreRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSStoreSpec

type TLSStoreSpec struct {
	// DefaultCertificate defines the default certificate configuration.
	DefaultCertificate *Certificate `json:"defaultCertificate,omitempty"`

	// DefaultGeneratedCert defines the default generated certificate configuration.
	DefaultGeneratedCert *tls.GeneratedCert `json:"defaultGeneratedCert,omitempty"`

	// Certificates is a list of secret names, each secret holding a key/certificate pair to add to the store.
	Certificates []Certificate `json:"certificates,omitempty"`
}

TLSStoreSpec defines the desired state of a TLSStore.

func (*TLSStoreSpec) DeepCopy

func (in *TLSStoreSpec) DeepCopy() *TLSStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSStoreSpec.

func (*TLSStoreSpec) DeepCopyInto

func (in *TLSStoreSpec) DeepCopyInto(out *TLSStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSTCP

type TLSTCP struct {
	// SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.
	SecretName string `json:"secretName,omitempty"`
	// Passthrough defines whether a TLS router will terminate the TLS connection.
	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/v2.11/https/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/v2.11/https/acme/#certificate-resolvers
	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/v2.11/routing/routers/#domains
	Domains []types.Domain `json:"domains,omitempty"`
}

TLSTCP holds the TLS configuration for an IngressRouteTCP. More info: https://doc.traefik.io/traefik/v2.11/routing/routers/#tls_1

func (*TLSTCP) DeepCopy

func (in *TLSTCP) DeepCopy() *TLSTCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSTCP.

func (*TLSTCP) DeepCopyInto

func (in *TLSTCP) DeepCopyInto(out *TLSTCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TraefikService

type TraefikService struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec TraefikServiceSpec `json:"spec"`
}

TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.11/routing/providers/kubernetes-crd/#kind-traefikservice

func (*TraefikService) DeepCopy

func (in *TraefikService) DeepCopy() *TraefikService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraefikService.

func (*TraefikService) DeepCopyInto

func (in *TraefikService) DeepCopyInto(out *TraefikService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TraefikService) DeepCopyObject

func (in *TraefikService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TraefikServiceList

type TraefikServiceList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items is the list of TraefikService.
	Items []TraefikService `json:"items"`
}

TraefikServiceList is a collection of TraefikService resources.

func (*TraefikServiceList) DeepCopy

func (in *TraefikServiceList) DeepCopy() *TraefikServiceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraefikServiceList.

func (*TraefikServiceList) DeepCopyInto

func (in *TraefikServiceList) DeepCopyInto(out *TraefikServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TraefikServiceList) DeepCopyObject

func (in *TraefikServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TraefikServiceSpec

type TraefikServiceSpec struct {
	// Weighted defines the Weighted Round Robin configuration.
	Weighted *WeightedRoundRobin `json:"weighted,omitempty"`
	// Mirroring defines the Mirroring service configuration.
	Mirroring *Mirroring `json:"mirroring,omitempty"`
}

TraefikServiceSpec defines the desired state of a TraefikService.

func (*TraefikServiceSpec) DeepCopy

func (in *TraefikServiceSpec) DeepCopy() *TraefikServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraefikServiceSpec.

func (*TraefikServiceSpec) DeepCopyInto

func (in *TraefikServiceSpec) DeepCopyInto(out *TraefikServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WeightedRoundRobin

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/v2.11/routing/providers/kubernetes-crd/#stickiness-and-load-balancing
	Sticky *dynamic.Sticky `json:"sticky,omitempty"`
}

WeightedRoundRobin holds the weighted round-robin configuration. More info: https://doc.traefik.io/traefik/v2.11/routing/services/#weighted-round-robin-service

func (*WeightedRoundRobin) DeepCopy

func (in *WeightedRoundRobin) DeepCopy() *WeightedRoundRobin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedRoundRobin.

func (*WeightedRoundRobin) DeepCopyInto

func (in *WeightedRoundRobin) DeepCopyInto(out *WeightedRoundRobin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL