Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=traefik.io +groupGoName=Traefik
Index ¶
- Constants
- Variables
- func Kind(kind string) kschema.GroupKind
- func Resource(resource string) kschema.GroupResource
- type BasicAuth
- type Certificate
- type Chain
- type CircuitBreaker
- type ClientAuth
- type ClientTLS
- type Compress
- type DigestAuth
- type ErrorPage
- type ForwardAuth
- type ForwardingTimeouts
- type IngressRoute
- type IngressRouteList
- type IngressRouteSpec
- type IngressRouteTCP
- type IngressRouteTCPList
- type IngressRouteTCPSpec
- type IngressRouteUDP
- type IngressRouteUDPList
- type IngressRouteUDPSpec
- type LoadBalancerSpec
- type Middleware
- type MiddlewareList
- type MiddlewareRef
- type MiddlewareSpec
- type MiddlewareTCP
- type MiddlewareTCPList
- type MiddlewareTCPSpec
- type MirrorService
- type Mirroring
- type ObjectReference
- type RateLimit
- type ResponseForwarding
- type Retry
- type Route
- type RouteTCP
- type RouteUDP
- type ServerHealthCheck
- type ServersTransport
- type ServersTransportList
- type ServersTransportSpec
- type ServersTransportTCP
- type ServersTransportTCPList
- type ServersTransportTCPSpec
- type Service
- type ServiceTCP
- type ServiceUDP
- type TLS
- type TLSClientConfig
- type TLSOption
- type TLSOptionList
- type TLSOptionRef
- type TLSOptionSpec
- type TLSStore
- type TLSStoreList
- type TLSStoreRef
- type TLSStoreSpec
- type TLSTCP
- type TraefikService
- type TraefikServiceList
- type TraefikServiceSpec
- type WeightedRoundRobin
Constants ¶
const GroupName = "traefik.io"
GroupName is the group name for Traefik.
Variables ¶
var ( // SchemeBuilder collects the scheme builder functions. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies the SchemeBuilder functions to a specified scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = kschema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects.
Functions ¶
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/v3.2/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/v3.2/middlewares/http/basicauth/
func (*BasicAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.
func (*BasicAuth) DeepCopyInto ¶
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/v3.2/middlewares/http/chain/
func (*Chain) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chain.
func (*Chain) DeepCopyInto ¶
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"` // ResponseCode is the status code that the circuit breaker will return while it is in the open state. ResponseCode int `json:"responseCode,omitempty" toml:"responseCode,omitempty" yaml:"responseCode,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"` // Deprecated: TLS client authentication is a server side option (see https://github.com/golang/go/blob/740a490f71d026bb7d2d13cb8fa2d6d6e0572b70/src/crypto/tls/common.go#L634). CAOptional *bool `json:"caOptional,omitempty"` }
ClientTLS holds the client TLS configuration.
func (*ClientTLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientTLS.
func (*ClientTLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Compress ¶ added in v3.2.0
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. ExcludedContentTypes []string `json:"excludedContentTypes,omitempty"` // IncludedContentTypes defines the list of content types to compare the Content-Type header of the responses before compressing. IncludedContentTypes []string `json:"includedContentTypes,omitempty"` // MinResponseBodyBytes defines the minimum amount of bytes a response body must have to be compressed. // Default: 1024. MinResponseBodyBytes *int `json:"minResponseBodyBytes,omitempty"` // Encodings defines the list of supported compression algorithms. Encodings []string `json:"encodings,omitempty"` // DefaultEncoding specifies the default encoding if the `Accept-Encoding` header is not in the request or contains a wildcard (`*`). DefaultEncoding *string `json:"defaultEncoding,omitempty"` }
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.2/middlewares/http/compress/
func (*Compress) DeepCopy ¶ added in v3.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Compress.
func (*Compress) DeepCopyInto ¶ added in v3.2.0
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/v3.2/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/v3.2/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/v3.2/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/v3.2/middlewares/http/errorpages/
func (*ErrorPage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorPage.
func (*ErrorPage) DeepCopyInto ¶
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/v3.2/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"` // AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response. AddAuthCookiesToResponse []string `json:"addAuthCookiesToResponse,omitempty"` }
ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. More info: https://doc.traefik.io/traefik/v3.2/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/v3.2/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` // TLS defines the TLS configuration. // More info: https://doc.traefik.io/traefik/v3.2/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/v3.2/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/v3.2/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/v3.2/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/v3.2/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 *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"` // 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. NodePortLB bool `json:"nodePortLB,omitempty"` // Healthcheck defines health checks for ExternalName services. HealthCheck *ServerHealthCheck `json:"healthCheck,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/v3.2/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"` // Deprecated: please use IPAllowList instead. 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 *Compress `json:"compress,omitempty"` PassTLSClientCert *dynamic.PassTLSClientCert `json:"passTLSClientCert,omitempty"` Retry *Retry `json:"retry,omitempty"` 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/ 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/v3.2/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/v3.2/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/v3.2/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"` // MirrorBody defines whether the body of the request should be mirrored. // Default value is true. MirrorBody *bool `json:"mirrorBody,omitempty"` // 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/v3.2/routing/services/#mirroring-service
func (*Mirroring) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mirroring.
func (*Mirroring) DeepCopyInto ¶
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/v3.2/middlewares/http/ratelimit/
func (*RateLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResponseForwarding ¶
type ResponseForwarding struct { // 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 FlushInterval string `json:"flushInterval,omitempty"` }
func (*ResponseForwarding) DeepCopy ¶
func (in *ResponseForwarding) DeepCopy() *ResponseForwarding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseForwarding.
func (*ResponseForwarding) DeepCopyInto ¶
func (in *ResponseForwarding) DeepCopyInto(out *ResponseForwarding)
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/v3.2/middlewares/http/retry/
func (*Retry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retry.
func (*Retry) DeepCopyInto ¶
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/v3.2/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/v3.2/routing/routers/#priority Priority int `json:"priority,omitempty"` // Syntax defines the router's rule syntax. // More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#rulesyntax 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.2/routing/providers/kubernetes-crd/#kind-middleware Middlewares []MiddlewareRef `json:"middlewares,omitempty"` }
Route holds the HTTP route configuration.
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
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/v3.2/routing/routers/#rule_1 Match string `json:"match"` // Priority defines the router's priority. // More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#priority_1 Priority int `json:"priority,omitempty"` // Syntax defines the router's rule syntax. // More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#rulesyntax_1 Syntax string `json:"syntax,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTCP.
func (*RouteTCP) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteUDP.
func (*RouteUDP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerHealthCheck ¶ added in v3.1.0
type ServerHealthCheck struct { // Scheme replaces the server URL scheme for the health check endpoint. Scheme string `json:"scheme,omitempty"` // Mode defines the health check mode. // If defined to grpc, will use the gRPC health check protocol to probe the server. // Default: http Mode string `json:"mode,omitempty"` // Path defines the server URL path for the health check endpoint. Path string `json:"path,omitempty"` // Method defines the healthcheck method. Method string `json:"method,omitempty"` // Status defines the expected HTTP status code of the response to the health check request. Status int `json:"status,omitempty"` // Port defines the server URL port for the health check endpoint. Port int `json:"port,omitempty"` // Interval defines the frequency of the health check calls. // Default: 30s Interval *intstr.IntOrString `json:"interval,omitempty"` // Timeout defines the maximum duration Traefik will wait for a health check request before considering the server unhealthy. // Default: 5s Timeout *intstr.IntOrString `json:"timeout,omitempty"` // Hostname defines the value of hostname in the Host header of the health check request. Hostname string `json:"hostname,omitempty"` // FollowRedirects defines whether redirects should be followed during the health check calls. // Default: true FollowRedirects *bool `json:"followRedirects,omitempty"` // Headers defines custom headers to be sent to the health check endpoint. Headers map[string]string `json:"headers,omitempty"` }
func (*ServerHealthCheck) DeepCopy ¶ added in v3.1.0
func (in *ServerHealthCheck) DeepCopy() *ServerHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerHealthCheck.
func (*ServerHealthCheck) DeepCopyInto ¶ added in v3.1.0
func (in *ServerHealthCheck) DeepCopyInto(out *ServerHealthCheck)
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/v3.2/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 ¶
func (in *ServersTransportList) DeepCopy() *ServersTransportList
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"` // Spiffe defines the SPIFFE configuration. Spiffe *dynamic.Spiffe `json:"spiffe,omitempty"` }
ServersTransportSpec defines the desired state of a ServersTransport.
func (*ServersTransportSpec) DeepCopy ¶
func (in *ServersTransportSpec) DeepCopy() *ServersTransportSpec
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 ServersTransportTCP ¶
type ServersTransportTCP 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 ServersTransportTCPSpec `json:"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.2/routing/services/#serverstransport_3
func (*ServersTransportTCP) DeepCopy ¶
func (in *ServersTransportTCP) DeepCopy() *ServersTransportTCP
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransportTCP.
func (*ServersTransportTCP) DeepCopyInto ¶
func (in *ServersTransportTCP) DeepCopyInto(out *ServersTransportTCP)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServersTransportTCP) DeepCopyObject ¶
func (in *ServersTransportTCP) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServersTransportTCPList ¶
type ServersTransportTCPList 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 ServersTransportTCP. Items []ServersTransportTCP `json:"items"` }
ServersTransportTCPList is a collection of ServersTransportTCP resources.
func (*ServersTransportTCPList) DeepCopy ¶
func (in *ServersTransportTCPList) DeepCopy() *ServersTransportTCPList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransportTCPList.
func (*ServersTransportTCPList) DeepCopyInto ¶
func (in *ServersTransportTCPList) DeepCopyInto(out *ServersTransportTCPList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServersTransportTCPList) DeepCopyObject ¶
func (in *ServersTransportTCPList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServersTransportTCPSpec ¶
type ServersTransportTCPSpec 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"` // DialKeepAlive is the interval between keep-alive probes for an active network connection. If zero, keep-alive probes are sent with a default value (currently 15 seconds), if supported by the protocol and operating system. Network protocols or operating systems that do not support keep-alives ignore this field. If negative, keep-alive probes are disabled. DialKeepAlive *intstr.IntOrString `json:"dialKeepAlive,omitempty"` // TerminationDelay defines the delay to wait before fully terminating the connection, after one connected peer has closed its writing capability. TerminationDelay *intstr.IntOrString `json:"terminationDelay,omitempty"` // TLS defines the TLS configuration TLS *TLSClientConfig `description:"Defines the TLS configuration." json:"tls,omitempty"` }
ServersTransportTCPSpec defines the desired state of a ServersTransportTCP.
func (*ServersTransportTCPSpec) DeepCopy ¶
func (in *ServersTransportTCPSpec) DeepCopy() *ServersTransportTCPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransportTCPSpec.
func (*ServersTransportTCPSpec) DeepCopyInto ¶
func (in *ServersTransportTCPSpec) DeepCopyInto(out *ServersTransportTCPSpec)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
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). // 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.2/routing/services/#proxy-protocol ProxyProtocol *dynamic.ProxyProtocol `json:"proxyProtocol,omitempty"` // ServersTransport defines the name of ServersTransportTCP 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"` // TLS determines whether to use TLS when dialing with the backend. TLS bool `json:"tls,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"` // 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. NodePortLB bool `json:"nodePortLB,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"` // 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. NodePortLB bool `json:"nodePortLB,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/v3.2/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/v3.2/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/v3.2/routing/routers/#domains Domains []types.Domain `json:"domains,omitempty"` }
TLS holds the TLS configuration. More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#tls
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientConfig ¶
type TLSClientConfig struct { // ServerName defines the server name used to contact the server. ServerName string `json:"serverName,omitempty"` // InsecureSkipVerify disables TLS certificate verification. InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"` // RootCAsSecrets defines a list of CA secret used to validate self-signed certificates. 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. // PeerCertURI defines the peer cert URI used to match against SAN URI during the peer certificate verification. PeerCertURI string `json:"peerCertURI,omitempty"` // Spiffe defines the SPIFFE configuration. Spiffe *dynamic.Spiffe `json:"spiffe,omitempty"` }
TLSClientConfig defines the desired state of a TLSClientConfig.
func (*TLSClientConfig) DeepCopy ¶
func (in *TLSClientConfig) DeepCopy() *TLSClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientConfig.
func (*TLSClientConfig) DeepCopyInto ¶
func (in *TLSClientConfig) DeepCopyInto(out *TLSClientConfig)
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/v3.2/https/tls/#tls-options
func (*TLSOption) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOption.
func (*TLSOption) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TLSOption) DeepCopyObject ¶
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/v3.2/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/v3.2/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/v3.2/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/v3.2/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"` // 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.2/https/tls/#alpn-protocols ALPNProtocols []string `json:"alpnProtocols,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"` }
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/v3.2/https/tls/#certificates-stores
func (*TLSStore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSStore.
func (*TLSStore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TLSStore) DeepCopyObject ¶
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/v3.2/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/v3.2/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/v3.2/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/v3.2/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/v3.2/routing/routers/#domains Domains []types.Domain `json:"domains,omitempty"` }
TLSTCP holds the TLS configuration for an IngressRouteTCP. More info: https://doc.traefik.io/traefik/v3.2/routing/routers/#tls_1
func (*TLSTCP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSTCP.
func (*TLSTCP) DeepCopyInto ¶
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/v3.2/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/v3.2/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/v3.2/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.