Documentation ¶
Index ¶
- Constants
- type AddPrefix
- type BasicAuth
- type Buffering
- type Chain
- type CircuitBreaker
- type ClientTLS
- type Compress
- type Configuration
- type Configurations
- type ContentType
- type Cookie
- type DigestAuth
- type ErrorPage
- type Failover
- type ForwardAuth
- type ForwardingTimeouts
- type GrpcWeb
- type HTTPConfiguration
- type Headers
- type HealthCheck
- type IPAllowList
- type IPStrategy
- type IPWhiteList
- type InFlightReq
- type Message
- type Middleware
- type MirrorService
- type Mirroring
- type Model
- type PassTLSClientCert
- type PluginConf
- type ProxyProtocol
- type RateLimit
- type RedirectRegex
- type RedirectScheme
- type ReplacePath
- type ReplacePathRegex
- type RequestHeaderModifier
- type RequestRedirect
- type ResponseForwarding
- type Retry
- type Router
- type RouterTCPTLSConfig
- type RouterTLSConfig
- type Server
- type ServerHealthCheck
- type ServersLoadBalancer
- type ServersTransport
- type Service
- type SourceCriterion
- type Spiffe
- type Sticky
- type StripPrefix
- type StripPrefixRegex
- type TCPConfiguration
- type TCPIPAllowList
- type TCPIPWhiteList
- type TCPInFlightConn
- type TCPMiddleware
- type TCPModel
- type TCPRouter
- type TCPServer
- type TCPServersLoadBalancer
- type TCPServersTransport
- type TCPService
- type TCPWRRService
- type TCPWeightedRoundRobin
- type TLSClientCertificateInfo
- type TLSClientCertificateIssuerDNInfo
- type TLSClientCertificateSubjectDNInfo
- type TLSClientConfig
- type TLSConfiguration
- type UDPConfiguration
- type UDPRouter
- type UDPServer
- type UDPServersLoadBalancer
- type UDPService
- type UDPWRRService
- type UDPWeightedRoundRobin
- type URLRewrite
- type Users
- type WRRService
- type WeightedRoundRobin
Constants ¶
const ( // DefaultHealthCheckInterval is the default value for the ServerHealthCheck interval. DefaultHealthCheckInterval = ptypes.Duration(30 * time.Second) // DefaultHealthCheckTimeout is the default value for the ServerHealthCheck timeout. DefaultHealthCheckTimeout = ptypes.Duration(5 * time.Second) // DefaultPassHostHeader is the default value for the ServersLoadBalancer passHostHeader. DefaultPassHostHeader = true // DefaultFlushInterval is the default value for the ResponseForwarding flush interval. DefaultFlushInterval = ptypes.Duration(100 * time.Millisecond) )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddPrefix ¶
type AddPrefix struct { // Prefix is the string to add before the current path in the requested URL. // It should include a leading slash (/). Prefix string `json:"prefix,omitempty" toml:"prefix,omitempty" yaml:"prefix,omitempty" export:"true"` }
AddPrefix holds the add prefix middleware configuration. This middleware updates the path of a request before forwarding it. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/addprefix/
func (*AddPrefix) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddPrefix.
func (*AddPrefix) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BasicAuth ¶
type BasicAuth struct { // Users is an array of authorized users. // Each user must be declared using the name:hashed-password format. // Tip: Use htpasswd to generate the passwords. Users Users `json:"users,omitempty" toml:"users,omitempty" yaml:"users,omitempty" loggable:"false"` // UsersFile is the path to an external file that contains the authorized users. UsersFile string `json:"usersFile,omitempty" toml:"usersFile,omitempty" yaml:"usersFile,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" toml:"realm,omitempty" yaml:"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" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty" export:"true"` // HeaderField defines a header field to store the authenticated user. // More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` }
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.1/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 Buffering ¶
type Buffering struct { // MaxRequestBodyBytes defines the maximum allowed body size for the request (in bytes). // If the request exceeds the allowed size, it is not forwarded to the service, and the client gets a 413 (Request Entity Too Large) response. // Default: 0 (no maximum). MaxRequestBodyBytes int64 `json:"maxRequestBodyBytes,omitempty" toml:"maxRequestBodyBytes,omitempty" yaml:"maxRequestBodyBytes,omitempty" export:"true"` // MemRequestBodyBytes defines the threshold (in bytes) from which the request will be buffered on disk instead of in memory. // Default: 1048576 (1Mi). MemRequestBodyBytes int64 `json:"memRequestBodyBytes,omitempty" toml:"memRequestBodyBytes,omitempty" yaml:"memRequestBodyBytes,omitempty" export:"true"` // MaxResponseBodyBytes defines the maximum allowed response size from the service (in bytes). // If the response exceeds the allowed size, it is not forwarded to the client. The client gets a 500 (Internal Server Error) response instead. // Default: 0 (no maximum). MaxResponseBodyBytes int64 `` /* 127-byte string literal not displayed */ // MemResponseBodyBytes defines the threshold (in bytes) from which the response will be buffered on disk instead of in memory. // Default: 1048576 (1Mi). MemResponseBodyBytes int64 `` /* 127-byte string literal not displayed */ // RetryExpression defines the retry conditions. // It is a logical combination of functions with operators AND (&&) and OR (||). // More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/buffering/#retryexpression RetryExpression string `json:"retryExpression,omitempty" toml:"retryExpression,omitempty" yaml:"retryExpression,omitempty" export:"true"` }
Buffering holds the buffering middleware configuration. This middleware retries or limits the size of requests that can be forwarded to backends. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/buffering/#maxrequestbodybytes
func (*Buffering) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Buffering.
func (*Buffering) DeepCopyInto ¶
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 middleware names which composes the chain. Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"` }
Chain holds the chain middleware configuration. This middleware enables to define reusable combinations of other pieces of middleware.
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 defines the expression that, once matched, opens the circuit breaker and applies the fallback mechanism instead of calling the services. 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 ptypes.Duration `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 ptypes.Duration `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 ptypes.Duration `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 middleware configuration. This middleware protects the system from stacking requests to unhealthy services, resulting in cascading failures. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/circuitbreaker/
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.
func (*CircuitBreaker) SetDefaults ¶
func (c *CircuitBreaker) SetDefaults()
SetDefaults sets the default values on a RateLimit.
type ClientTLS ¶
type ClientTLS struct { CA string `description:"TLS CA" json:"ca,omitempty" toml:"ca,omitempty" yaml:"ca,omitempty"` Cert string `description:"TLS cert" json:"cert,omitempty" toml:"cert,omitempty" yaml:"cert,omitempty"` Key string `description:"TLS key" json:"key,omitempty" toml:"key,omitempty" yaml:"key,omitempty" loggable:"false"` InsecureSkipVerify bool `` /* 160-byte string literal not displayed */ // 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 `` /* 127-byte string literal not displayed */ }
ClientTLS holds TLS specific configurations as client CA, Cert and Key can be either path or file contents. TODO: remove this struct when CAOptional option will be removed.
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 ¶
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 `` /* 127-byte string literal not displayed */ // IncludedContentTypes defines the list of content types to compare the Content-Type header of the responses before compressing. IncludedContentTypes []string `` /* 127-byte string literal not displayed */ // MinResponseBodyBytes defines the minimum amount of bytes a response body must have to be compressed. // Default: 1024. MinResponseBodyBytes int `` /* 127-byte string literal not displayed */ // DefaultEncoding specifies the default encoding if the `Accept-Encoding` header is not in the request or contains a wildcard (`*`). DefaultEncoding string `json:"defaultEncoding,omitempty" toml:"defaultEncoding,omitempty" yaml:"defaultEncoding,omitempty" export:"true"` }
Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the client, using gzip compression. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/compress/
func (*Compress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Compress.
func (*Compress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Configuration ¶
type Configuration struct { HTTP *HTTPConfiguration `json:"http,omitempty" toml:"http,omitempty" yaml:"http,omitempty" export:"true"` TCP *TCPConfiguration `json:"tcp,omitempty" toml:"tcp,omitempty" yaml:"tcp,omitempty" export:"true"` UDP *UDPConfiguration `json:"udp,omitempty" toml:"udp,omitempty" yaml:"udp,omitempty" export:"true"` TLS *TLSConfiguration `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" export:"true"` }
Configuration is the root of the dynamic configuration.
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Configurations ¶
type Configurations map[string]*Configuration
Configurations is for currentConfigurations Map.
func (Configurations) DeepCopy ¶
func (in Configurations) DeepCopy() Configurations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configurations.
func (Configurations) DeepCopyInto ¶
func (in Configurations) DeepCopyInto(out *Configurations)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContentType ¶
type ContentType struct { // AutoDetect specifies whether to let the `Content-Type` header, if it has not been set by the backend, // be automatically set to a value derived from the contents of the response. // Deprecated: AutoDetect option is deprecated, Content-Type middleware is only meant to be used to enable the content-type detection, please remove any usage of this option. AutoDetect *bool `json:"autoDetect,omitempty" toml:"autoDetect,omitempty" yaml:"autoDetect,omitempty" export:"true"` }
ContentType holds the content-type middleware configuration. This middleware exists to enable the correct behavior until at least the default one can be changed in a future version.
func (*ContentType) DeepCopy ¶
func (in *ContentType) DeepCopy() *ContentType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContentType.
func (*ContentType) DeepCopyInto ¶
func (in *ContentType) DeepCopyInto(out *ContentType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cookie ¶
type Cookie struct { // Name defines the Cookie name. Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"` // Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). Secure bool `json:"secure,omitempty" toml:"secure,omitempty" yaml:"secure,omitempty" export:"true"` // HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. HTTPOnly bool `json:"httpOnly,omitempty" toml:"httpOnly,omitempty" yaml:"httpOnly,omitempty" export:"true"` // SameSite defines the same site policy. // More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite SameSite string `json:"sameSite,omitempty" toml:"sameSite,omitempty" yaml:"sameSite,omitempty" export:"true"` // MaxAge indicates the number of seconds until the cookie expires. // When set to a negative number, the cookie expires immediately. // When set to zero, the cookie never expires. MaxAge int `json:"maxAge,omitempty" toml:"maxAge,omitempty" yaml:"maxAge,omitempty" export:"true"` }
Cookie holds the sticky configuration based on cookie.
func (*Cookie) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cookie.
func (*Cookie) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DigestAuth ¶
type DigestAuth struct { // Users defines the authorized users. // Each user should be declared using the name:realm:encoded-password format. Users Users `json:"users,omitempty" toml:"users,omitempty" yaml:"users,omitempty" loggable:"false"` // UsersFile is the path to an external file that contains the authorized users for the middleware. UsersFile string `json:"usersFile,omitempty" toml:"usersFile,omitempty" yaml:"usersFile,omitempty"` // RemoveHeader defines whether to remove the authorization header before forwarding the request to the backend. RemoveHeader bool `json:"removeHeader,omitempty" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty" export:"true"` // 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" toml:"realm,omitempty" yaml:"realm,omitempty"` // HeaderField defines a header field to store the authenticated user. // More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` }
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.1/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" toml:"status,omitempty" yaml:"status,omitempty" export:"true"` // Service defines the name of the service that will serve the error page. Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"` // 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" toml:"query,omitempty" yaml:"query,omitempty" export:"true"` }
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.
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 Failover ¶
type Failover struct { Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"` Fallback string `json:"fallback,omitempty" toml:"fallback,omitempty" yaml:"fallback,omitempty" export:"true"` HealthCheck *HealthCheck `` /* 137-byte string literal not displayed */ }
Failover holds the Failover configuration.
func (*Failover) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Failover.
func (*Failover) 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" toml:"address,omitempty" yaml:"address,omitempty"` // TLS defines the configuration used to secure the connection to the authentication server. TLS *ClientTLS `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" export:"true"` // TrustForwardHeader defines whether to trust (ie: forward) all X-Forwarded-* headers. TrustForwardHeader bool `json:"trustForwardHeader,omitempty" toml:"trustForwardHeader,omitempty" yaml:"trustForwardHeader,omitempty" export:"true"` // 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" toml:"authResponseHeaders,omitempty" yaml:"authResponseHeaders,omitempty" export:"true"` // 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.1/middlewares/http/forwardauth/#authresponseheadersregex AuthResponseHeadersRegex string `` /* 139-byte string literal not displayed */ // 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" toml:"authRequestHeaders,omitempty" yaml:"authRequestHeaders,omitempty" export:"true"` // AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response. AddAuthCookiesToResponse []string `` /* 139-byte string literal not displayed */ }
ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. More info: https://doc.traefik.io/traefik/v3.1/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 ptypes.Duration `` /* 228-byte string literal not displayed */ ResponseHeaderTimeout ptypes.Duration `` /* 293-byte string literal not displayed */ IdleConnTimeout ptypes.Duration `` /* 230-byte string literal not displayed */ ReadIdleTimeout ptypes.Duration `` /* 291-byte string literal not displayed */ PingTimeout ptypes.Duration `` /* 214-byte string literal not displayed */ }
ForwardingTimeouts contains 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.
func (*ForwardingTimeouts) SetDefaults ¶
func (f *ForwardingTimeouts) SetDefaults()
SetDefaults sets the default values.
type GrpcWeb ¶
type GrpcWeb struct { // AllowOrigins is a list of allowable origins. // Can also be a wildcard origin "*". AllowOrigins []string `json:"allowOrigins,omitempty" toml:"allowOrigins,omitempty" yaml:"allowOrigins,omitempty"` }
GrpcWeb holds the gRPC web middleware configuration. This middleware converts a gRPC web request to an HTTP/2 gRPC request.
func (*GrpcWeb) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcWeb.
func (*GrpcWeb) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPConfiguration ¶
type HTTPConfiguration struct { Routers map[string]*Router `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty" export:"true"` Services map[string]*Service `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"` Middlewares map[string]*Middleware `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"` Models map[string]*Model `json:"models,omitempty" toml:"models,omitempty" yaml:"models,omitempty" export:"true"` ServersTransports map[string]*ServersTransport `` /* 128-byte string literal not displayed */ }
HTTPConfiguration contains all the HTTP configuration parameters.
func (*HTTPConfiguration) DeepCopy ¶
func (in *HTTPConfiguration) DeepCopy() *HTTPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPConfiguration.
func (*HTTPConfiguration) DeepCopyInto ¶
func (in *HTTPConfiguration) DeepCopyInto(out *HTTPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Headers ¶
type Headers struct { // CustomRequestHeaders defines the header names and values to apply to the request. CustomRequestHeaders map[string]string `` /* 127-byte string literal not displayed */ // CustomResponseHeaders defines the header names and values to apply to the response. CustomResponseHeaders map[string]string `` /* 130-byte string literal not displayed */ // AccessControlAllowCredentials defines whether the request can include user credentials. AccessControlAllowCredentials bool `` /* 154-byte string literal not displayed */ // AccessControlAllowHeaders defines the Access-Control-Request-Headers values sent in preflight response. AccessControlAllowHeaders []string `` /* 142-byte string literal not displayed */ // AccessControlAllowMethods defines the Access-Control-Request-Method values sent in preflight response. AccessControlAllowMethods []string `` /* 142-byte string literal not displayed */ // AccessControlAllowOriginList is a list of allowable origins. Can also be a wildcard origin "*". AccessControlAllowOriginList []string `` /* 137-byte string literal not displayed */ // AccessControlAllowOriginListRegex is a list of allowable origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/). AccessControlAllowOriginListRegex []string `` /* 152-byte string literal not displayed */ // AccessControlExposeHeaders defines the Access-Control-Expose-Headers values sent in preflight response. AccessControlExposeHeaders []string `` /* 145-byte string literal not displayed */ // AccessControlMaxAge defines the time that a preflight request may be cached. AccessControlMaxAge int64 `json:"accessControlMaxAge,omitempty" toml:"accessControlMaxAge,omitempty" yaml:"accessControlMaxAge,omitempty" export:"true"` // AddVaryHeader defines whether the Vary header is automatically added/updated when the AccessControlAllowOriginList is set. AddVaryHeader bool `json:"addVaryHeader,omitempty" toml:"addVaryHeader,omitempty" yaml:"addVaryHeader,omitempty" export:"true"` // AllowedHosts defines the fully qualified list of allowed domain names. AllowedHosts []string `json:"allowedHosts,omitempty" toml:"allowedHosts,omitempty" yaml:"allowedHosts,omitempty"` // HostsProxyHeaders defines the header keys that may hold a proxied hostname value for the request. HostsProxyHeaders []string `json:"hostsProxyHeaders,omitempty" toml:"hostsProxyHeaders,omitempty" yaml:"hostsProxyHeaders,omitempty" export:"true"` // SSLProxyHeaders defines the header keys with associated values that would indicate a valid HTTPS request. // It can be useful when using other proxies (example: "X-Forwarded-Proto": "https"). SSLProxyHeaders map[string]string `json:"sslProxyHeaders,omitempty" toml:"sslProxyHeaders,omitempty" yaml:"sslProxyHeaders,omitempty"` // STSSeconds defines the max-age of the Strict-Transport-Security header. // If set to 0, the header is not set. STSSeconds int64 `json:"stsSeconds,omitempty" toml:"stsSeconds,omitempty" yaml:"stsSeconds,omitempty" export:"true"` // STSIncludeSubdomains defines whether the includeSubDomains directive is appended to the Strict-Transport-Security header. STSIncludeSubdomains bool `` /* 127-byte string literal not displayed */ // STSPreload defines whether the preload flag is appended to the Strict-Transport-Security header. STSPreload bool `json:"stsPreload,omitempty" toml:"stsPreload,omitempty" yaml:"stsPreload,omitempty" export:"true"` // ForceSTSHeader defines whether to add the STS header even when the connection is HTTP. ForceSTSHeader bool `json:"forceSTSHeader,omitempty" toml:"forceSTSHeader,omitempty" yaml:"forceSTSHeader,omitempty" export:"true"` // FrameDeny defines whether to add the X-Frame-Options header with the DENY value. FrameDeny bool `json:"frameDeny,omitempty" toml:"frameDeny,omitempty" yaml:"frameDeny,omitempty" export:"true"` // CustomFrameOptionsValue defines the X-Frame-Options header value. // This overrides the FrameDeny option. CustomFrameOptionsValue string `json:"customFrameOptionsValue,omitempty" toml:"customFrameOptionsValue,omitempty" yaml:"customFrameOptionsValue,omitempty"` // ContentTypeNosniff defines whether to add the X-Content-Type-Options header with the nosniff value. ContentTypeNosniff bool `json:"contentTypeNosniff,omitempty" toml:"contentTypeNosniff,omitempty" yaml:"contentTypeNosniff,omitempty" export:"true"` // BrowserXSSFilter defines whether to add the X-XSS-Protection header with the value 1; mode=block. BrowserXSSFilter bool `json:"browserXssFilter,omitempty" toml:"browserXssFilter,omitempty" yaml:"browserXssFilter,omitempty" export:"true"` // CustomBrowserXSSValue defines the X-XSS-Protection header value. // This overrides the BrowserXssFilter option. CustomBrowserXSSValue string `json:"customBrowserXSSValue,omitempty" toml:"customBrowserXSSValue,omitempty" yaml:"customBrowserXSSValue,omitempty"` // ContentSecurityPolicy defines the Content-Security-Policy header value. ContentSecurityPolicy string `json:"contentSecurityPolicy,omitempty" toml:"contentSecurityPolicy,omitempty" yaml:"contentSecurityPolicy,omitempty"` // ContentSecurityPolicyReportOnly defines the Content-Security-Policy-Report-Only header value. ContentSecurityPolicyReportOnly string `` /* 146-byte string literal not displayed */ // PublicKey is the public key that implements HPKP to prevent MITM attacks with forged certificates. PublicKey string `json:"publicKey,omitempty" toml:"publicKey,omitempty" yaml:"publicKey,omitempty"` // ReferrerPolicy defines the Referrer-Policy header value. // This allows sites to control whether browsers forward the Referer header to other sites. ReferrerPolicy string `json:"referrerPolicy,omitempty" toml:"referrerPolicy,omitempty" yaml:"referrerPolicy,omitempty" export:"true"` // PermissionsPolicy defines the Permissions-Policy header value. // This allows sites to control browser features. PermissionsPolicy string `json:"permissionsPolicy,omitempty" toml:"permissionsPolicy,omitempty" yaml:"permissionsPolicy,omitempty" export:"true"` // IsDevelopment defines whether to mitigate the unwanted effects of the AllowedHosts, SSL, and STS options when developing. // Usually testing takes place using HTTP, not HTTPS, and on localhost, not your production domain. // If you would like your development environment to mimic production with complete Host blocking, SSL redirects, // and STS headers, leave this as false. IsDevelopment bool `json:"isDevelopment,omitempty" toml:"isDevelopment,omitempty" yaml:"isDevelopment,omitempty" export:"true"` // Deprecated: FeaturePolicy option is deprecated, please use PermissionsPolicy instead. FeaturePolicy *string `json:"featurePolicy,omitempty" toml:"featurePolicy,omitempty" yaml:"featurePolicy,omitempty" export:"true"` // Deprecated: SSLRedirect option is deprecated, please use EntryPoint redirection or RedirectScheme instead. SSLRedirect *bool `json:"sslRedirect,omitempty" toml:"sslRedirect,omitempty" yaml:"sslRedirect,omitempty" export:"true"` // Deprecated: SSLTemporaryRedirect option is deprecated, please use EntryPoint redirection or RedirectScheme instead. SSLTemporaryRedirect *bool `` /* 127-byte string literal not displayed */ // Deprecated: SSLHost option is deprecated, please use RedirectRegex instead. SSLHost *string `json:"sslHost,omitempty" toml:"sslHost,omitempty" yaml:"sslHost,omitempty"` // Deprecated: SSLForceHost option is deprecated, please use RedirectRegex instead. SSLForceHost *bool `json:"sslForceHost,omitempty" toml:"sslForceHost,omitempty" yaml:"sslForceHost,omitempty" export:"true"` }
Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/headers/#customrequestheaders
func (*Headers) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Headers.
func (*Headers) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Headers) HasCorsHeadersDefined ¶
HasCorsHeadersDefined checks to see if any of the cors header elements have been set.
func (*Headers) HasCustomHeadersDefined ¶
HasCustomHeadersDefined checks to see if any of the custom header elements have been set.
func (*Headers) HasSecureHeadersDefined ¶
HasSecureHeadersDefined checks to see if any of the secure header elements have been set.
type HealthCheck ¶
type HealthCheck struct{}
HealthCheck controls healthcheck awareness and propagation at the services level.
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAllowList ¶
type IPAllowList struct { // SourceRange defines the set of allowed IPs (or ranges of allowed IPs by using CIDR notation). SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"` IPStrategy *IPStrategy `` /* 150-byte string literal not displayed */ // RejectStatusCode defines the HTTP status code used for refused requests. // If not set, the default is 403 (Forbidden). RejectStatusCode int `` /* 168-byte string literal not displayed */ }
IPAllowList holds the IP allowlist middleware configuration. This middleware limits allowed requests based on the client IP. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/ipallowlist/
func (*IPAllowList) DeepCopy ¶
func (in *IPAllowList) DeepCopy() *IPAllowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAllowList.
func (*IPAllowList) DeepCopyInto ¶
func (in *IPAllowList) DeepCopyInto(out *IPAllowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPStrategy ¶
type IPStrategy struct { // Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). Depth int `json:"depth,omitempty" toml:"depth,omitempty" yaml:"depth,omitempty" export:"true"` // ExcludedIPs configures Traefik to scan the X-Forwarded-For header and select the first IP not in the list. ExcludedIPs []string `json:"excludedIPs,omitempty" toml:"excludedIPs,omitempty" yaml:"excludedIPs,omitempty"` }
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/ipallowlist/#ipstrategy
func (*IPStrategy) DeepCopy ¶
func (in *IPStrategy) DeepCopy() *IPStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPStrategy.
func (*IPStrategy) DeepCopyInto ¶
func (in *IPStrategy) DeepCopyInto(out *IPStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPWhiteList ¶
type IPWhiteList struct { // SourceRange defines the set of allowed IPs (or ranges of allowed IPs by using CIDR notation). Required. SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"` IPStrategy *IPStrategy `` /* 150-byte string literal not displayed */ }
IPWhiteList holds the IP whitelist middleware configuration. This middleware limits allowed requests based on the client IP. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/ipwhitelist/ Deprecated: please use IPAllowList instead.
func (*IPWhiteList) DeepCopy ¶
func (in *IPWhiteList) DeepCopy() *IPWhiteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPWhiteList.
func (*IPWhiteList) DeepCopyInto ¶
func (in *IPWhiteList) DeepCopyInto(out *IPWhiteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InFlightReq ¶
type InFlightReq struct { // Amount defines the maximum amount of allowed simultaneous in-flight request. // The middleware responds with HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy). Amount int64 `json:"amount,omitempty" toml:"amount,omitempty" yaml:"amount,omitempty" export:"true"` // 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 requestHost. // More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/inflightreq/#sourcecriterion SourceCriterion *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty" export:"true"` }
InFlightReq holds the in-flight request middleware configuration. This middleware limits the number of requests being processed and served concurrently. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/inflightreq/
func (*InFlightReq) DeepCopy ¶
func (in *InFlightReq) DeepCopy() *InFlightReq
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InFlightReq.
func (*InFlightReq) DeepCopyInto ¶
func (in *InFlightReq) DeepCopyInto(out *InFlightReq)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Message ¶
type Message struct { ProviderName string Configuration *Configuration }
Message holds configuration information exchanged between parts of traefik.
func (*Message) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Message.
func (*Message) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Middleware ¶
type Middleware struct { AddPrefix *AddPrefix `json:"addPrefix,omitempty" toml:"addPrefix,omitempty" yaml:"addPrefix,omitempty" export:"true"` StripPrefix *StripPrefix `json:"stripPrefix,omitempty" toml:"stripPrefix,omitempty" yaml:"stripPrefix,omitempty" export:"true"` StripPrefixRegex *StripPrefixRegex `json:"stripPrefixRegex,omitempty" toml:"stripPrefixRegex,omitempty" yaml:"stripPrefixRegex,omitempty" export:"true"` ReplacePath *ReplacePath `json:"replacePath,omitempty" toml:"replacePath,omitempty" yaml:"replacePath,omitempty" export:"true"` ReplacePathRegex *ReplacePathRegex `json:"replacePathRegex,omitempty" toml:"replacePathRegex,omitempty" yaml:"replacePathRegex,omitempty" export:"true"` Chain *Chain `json:"chain,omitempty" toml:"chain,omitempty" yaml:"chain,omitempty" export:"true"` // Deprecated: please use IPAllowList instead. IPWhiteList *IPWhiteList `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,omitempty" export:"true"` IPAllowList *IPAllowList `json:"ipAllowList,omitempty" toml:"ipAllowList,omitempty" yaml:"ipAllowList,omitempty" export:"true"` Headers *Headers `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty" export:"true"` Errors *ErrorPage `json:"errors,omitempty" toml:"errors,omitempty" yaml:"errors,omitempty" export:"true"` RateLimit *RateLimit `json:"rateLimit,omitempty" toml:"rateLimit,omitempty" yaml:"rateLimit,omitempty" export:"true"` RedirectRegex *RedirectRegex `json:"redirectRegex,omitempty" toml:"redirectRegex,omitempty" yaml:"redirectRegex,omitempty" export:"true"` RedirectScheme *RedirectScheme `json:"redirectScheme,omitempty" toml:"redirectScheme,omitempty" yaml:"redirectScheme,omitempty" export:"true"` BasicAuth *BasicAuth `json:"basicAuth,omitempty" toml:"basicAuth,omitempty" yaml:"basicAuth,omitempty" export:"true"` DigestAuth *DigestAuth `json:"digestAuth,omitempty" toml:"digestAuth,omitempty" yaml:"digestAuth,omitempty" export:"true"` ForwardAuth *ForwardAuth `json:"forwardAuth,omitempty" toml:"forwardAuth,omitempty" yaml:"forwardAuth,omitempty" export:"true"` InFlightReq *InFlightReq `json:"inFlightReq,omitempty" toml:"inFlightReq,omitempty" yaml:"inFlightReq,omitempty" export:"true"` Buffering *Buffering `json:"buffering,omitempty" toml:"buffering,omitempty" yaml:"buffering,omitempty" export:"true"` CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty" toml:"circuitBreaker,omitempty" yaml:"circuitBreaker,omitempty" export:"true"` Compress *Compress `` /* 144-byte string literal not displayed */ PassTLSClientCert *PassTLSClientCert `json:"passTLSClientCert,omitempty" toml:"passTLSClientCert,omitempty" yaml:"passTLSClientCert,omitempty" export:"true"` Retry *Retry `json:"retry,omitempty" toml:"retry,omitempty" yaml:"retry,omitempty" export:"true"` ContentType *ContentType `` /* 153-byte string literal not displayed */ GrpcWeb *GrpcWeb `json:"grpcWeb,omitempty" toml:"grpcWeb,omitempty" yaml:"grpcWeb,omitempty" export:"true"` Plugin map[string]PluginConf `json:"plugin,omitempty" toml:"plugin,omitempty" yaml:"plugin,omitempty" export:"true"` // Gateway API HTTPRoute filters middlewares. RequestHeaderModifier *RequestHeaderModifier `json:"requestHeaderModifier,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"` RequestRedirect *RequestRedirect `json:"requestRedirect,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"` URLRewrite *URLRewrite `json:"URLRewrite,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"` }
Middleware holds the Middleware configuration.
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.
type MirrorService ¶
type MirrorService struct { Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"` Percent int `json:"percent,omitempty" toml:"percent,omitempty" yaml:"percent,omitempty" export:"true"` }
MirrorService holds the MirrorService 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 { Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"` MaxBodySize *int64 `json:"maxBodySize,omitempty" toml:"maxBodySize,omitempty" yaml:"maxBodySize,omitempty" export:"true"` Mirrors []MirrorService `json:"mirrors,omitempty" toml:"mirrors,omitempty" yaml:"mirrors,omitempty" export:"true"` HealthCheck *HealthCheck `` /* 153-byte string literal not displayed */ }
Mirroring holds the Mirroring configuration.
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.
func (*Mirroring) SetDefaults ¶
func (m *Mirroring) SetDefaults()
SetDefaults Default values for a WRRService.
type Model ¶
type Model struct { Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"` TLS *RouterTLSConfig `` /* 129-byte string literal not displayed */ DefaultRuleSyntax string `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"` }
Model is a set of default router's values.
func (*Model) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Model.
func (*Model) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PassTLSClientCert ¶
type PassTLSClientCert struct { // PEM sets the X-Forwarded-Tls-Client-Cert header with the certificate. PEM bool `json:"pem,omitempty" toml:"pem,omitempty" yaml:"pem,omitempty" export:"true"` // Info selects the specific client certificate details you want to add to the X-Forwarded-Tls-Client-Cert-Info header. Info *TLSClientCertificateInfo `json:"info,omitempty" toml:"info,omitempty" yaml:"info,omitempty" export:"true"` }
PassTLSClientCert holds the pass TLS client cert middleware configuration. This middleware adds the selected data from the passed client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/passtlsclientcert/
func (*PassTLSClientCert) DeepCopy ¶
func (in *PassTLSClientCert) DeepCopy() *PassTLSClientCert
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassTLSClientCert.
func (*PassTLSClientCert) DeepCopyInto ¶
func (in *PassTLSClientCert) DeepCopyInto(out *PassTLSClientCert)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginConf ¶
PluginConf holds the plugin configuration.
func (*PluginConf) DeepCopy ¶
func (in *PluginConf) DeepCopy() *PluginConf
DeepCopy is a deepcopy function, copying the receiver, creating a new PluginConf.
func (*PluginConf) DeepCopyInto ¶
func (in *PluginConf) DeepCopyInto(out *PluginConf)
DeepCopyInto is a deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyProtocol ¶
type ProxyProtocol struct { // Version defines the PROXY Protocol version to use. Version int `json:"version,omitempty" toml:"version,omitempty" yaml:"version,omitempty" export:"true"` }
ProxyProtocol holds the PROXY Protocol configuration. More info: https://doc.traefik.io/traefik/v3.1/routing/services/#proxy-protocol
func (*ProxyProtocol) DeepCopy ¶
func (in *ProxyProtocol) DeepCopy() *ProxyProtocol
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyProtocol.
func (*ProxyProtocol) DeepCopyInto ¶
func (in *ProxyProtocol) DeepCopyInto(out *ProxyProtocol)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyProtocol) SetDefaults ¶
func (p *ProxyProtocol) SetDefaults()
SetDefaults Default values for a ProxyProtocol.
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" toml:"average,omitempty" yaml:"average,omitempty" export:"true"` // Period, in combination with Average, defines the actual maximum rate, such as: // r = Average / Period. It defaults to a second. Period ptypes.Duration `json:"period,omitempty" toml:"period,omitempty" yaml:"period,omitempty" export:"true"` // 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" toml:"burst,omitempty" yaml:"burst,omitempty" export:"true"` // 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 *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty" export:"true"` }
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.
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.
func (*RateLimit) SetDefaults ¶
func (r *RateLimit) SetDefaults()
SetDefaults sets the default values on a RateLimit.
type RedirectRegex ¶
type RedirectRegex struct { // Regex defines the regex used to match and capture elements from the request URL. Regex string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty"` // Replacement defines how to modify the URL to have the new target URL. Replacement string `json:"replacement,omitempty" toml:"replacement,omitempty" yaml:"replacement,omitempty"` // Permanent defines whether the redirection is permanent (301). Permanent bool `json:"permanent,omitempty" toml:"permanent,omitempty" yaml:"permanent,omitempty" export:"true"` }
RedirectRegex holds the redirect regex middleware configuration. This middleware redirects a request using regex matching and replacement. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/redirectregex/#regex
func (*RedirectRegex) DeepCopy ¶
func (in *RedirectRegex) DeepCopy() *RedirectRegex
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectRegex.
func (*RedirectRegex) DeepCopyInto ¶
func (in *RedirectRegex) DeepCopyInto(out *RedirectRegex)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedirectScheme ¶
type RedirectScheme struct { // Scheme defines the scheme of the new URL. Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty" export:"true"` // Port defines the port of the new URL. Port string `json:"port,omitempty" toml:"port,omitempty" yaml:"port,omitempty" export:"true"` // Permanent defines whether the redirection is permanent (301). Permanent bool `json:"permanent,omitempty" toml:"permanent,omitempty" yaml:"permanent,omitempty" export:"true"` }
RedirectScheme holds the redirect scheme middleware configuration. This middleware redirects requests from a scheme/port to another. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/redirectscheme/
func (*RedirectScheme) DeepCopy ¶
func (in *RedirectScheme) DeepCopy() *RedirectScheme
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectScheme.
func (*RedirectScheme) DeepCopyInto ¶
func (in *RedirectScheme) DeepCopyInto(out *RedirectScheme)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplacePath ¶
type ReplacePath struct { // Path defines the path to use as replacement in the request URL. Path string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"` }
ReplacePath holds the replace path middleware configuration. This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/replacepath/
func (*ReplacePath) DeepCopy ¶
func (in *ReplacePath) DeepCopy() *ReplacePath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplacePath.
func (*ReplacePath) DeepCopyInto ¶
func (in *ReplacePath) DeepCopyInto(out *ReplacePath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplacePathRegex ¶
type ReplacePathRegex struct { // Regex defines the regular expression used to match and capture the path from the request URL. Regex string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty" export:"true"` // Replacement defines the replacement path format, which can include captured variables. Replacement string `json:"replacement,omitempty" toml:"replacement,omitempty" yaml:"replacement,omitempty" export:"true"` }
ReplacePathRegex holds the replace path regex middleware configuration. This middleware replaces the path of a URL using regex matching and replacement. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/replacepathregex/
func (*ReplacePathRegex) DeepCopy ¶
func (in *ReplacePathRegex) DeepCopy() *ReplacePathRegex
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplacePathRegex.
func (*ReplacePathRegex) DeepCopyInto ¶
func (in *ReplacePathRegex) DeepCopyInto(out *ReplacePathRegex)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestHeaderModifier ¶
type RequestHeaderModifier struct { Set map[string]string `json:"set,omitempty"` Add map[string]string `json:"add,omitempty"` Remove []string `json:"remove,omitempty"` }
RequestHeaderModifier holds the request header modifier configuration.
func (*RequestHeaderModifier) DeepCopy ¶
func (in *RequestHeaderModifier) DeepCopy() *RequestHeaderModifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderModifier.
func (*RequestHeaderModifier) DeepCopyInto ¶
func (in *RequestHeaderModifier) DeepCopyInto(out *RequestHeaderModifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestRedirect ¶ added in v3.1.0
type RequestRedirect struct { Scheme *string `json:"scheme,omitempty"` Hostname *string `json:"hostname,omitempty"` Port *string `json:"port,omitempty"` Path *string `json:"path,omitempty"` PathPrefix *string `json:"pathPrefix,omitempty"` StatusCode int `json:"statusCode,omitempty"` }
RequestRedirect holds the request redirect middleware configuration.
func (*RequestRedirect) DeepCopy ¶ added in v3.1.0
func (in *RequestRedirect) DeepCopy() *RequestRedirect
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestRedirect.
func (*RequestRedirect) DeepCopyInto ¶ added in v3.1.0
func (in *RequestRedirect) DeepCopyInto(out *RequestRedirect)
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 ptypes.Duration `json:"flushInterval,omitempty" toml:"flushInterval,omitempty" yaml:"flushInterval,omitempty" export:"true"` }
ResponseForwarding holds the response forwarding configuration.
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.
func (*ResponseForwarding) SetDefaults ¶
func (r *ResponseForwarding) SetDefaults()
SetDefaults Default values for a ResponseForwarding.
type Retry ¶
type Retry struct { // Attempts defines how many times the request should be retried. Attempts int `json:"attempts,omitempty" toml:"attempts,omitempty" yaml:"attempts,omitempty" export:"true"` // 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 ptypes.Duration `json:"initialInterval,omitempty" toml:"initialInterval,omitempty" yaml:"initialInterval,omitempty" export:"true"` }
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.1/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 Router ¶
type Router struct { EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty" export:"true"` Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"` Rule string `json:"rule,omitempty" toml:"rule,omitempty" yaml:"rule,omitempty"` RuleSyntax string `json:"ruleSyntax,omitempty" toml:"ruleSyntax,omitempty" yaml:"ruleSyntax,omitempty" export:"true"` Priority int `json:"priority,omitempty" toml:"priority,omitempty,omitzero" yaml:"priority,omitempty" export:"true"` TLS *RouterTLSConfig `` /* 129-byte string literal not displayed */ DefaultRule bool `json:"-" toml:"-" yaml:"-" label:"-" file:"-"` }
Router holds the router configuration.
func (*Router) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Router.
func (*Router) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterTCPTLSConfig ¶
type RouterTCPTLSConfig struct { Passthrough bool `json:"passthrough" toml:"passthrough" yaml:"passthrough" export:"true"` Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty" export:"true"` CertResolver string `json:"certResolver,omitempty" toml:"certResolver,omitempty" yaml:"certResolver,omitempty" export:"true"` Domains []types.Domain `json:"domains,omitempty" toml:"domains,omitempty" yaml:"domains,omitempty" export:"true"` }
RouterTCPTLSConfig holds the TLS configuration for a router.
func (*RouterTCPTLSConfig) DeepCopy ¶
func (in *RouterTCPTLSConfig) DeepCopy() *RouterTCPTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterTCPTLSConfig.
func (*RouterTCPTLSConfig) DeepCopyInto ¶
func (in *RouterTCPTLSConfig) DeepCopyInto(out *RouterTCPTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterTLSConfig ¶
type RouterTLSConfig struct { Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty" export:"true"` CertResolver string `json:"certResolver,omitempty" toml:"certResolver,omitempty" yaml:"certResolver,omitempty" export:"true"` Domains []types.Domain `json:"domains,omitempty" toml:"domains,omitempty" yaml:"domains,omitempty" export:"true"` }
RouterTLSConfig holds the TLS configuration for a router.
func (*RouterTLSConfig) DeepCopy ¶
func (in *RouterTLSConfig) DeepCopy() *RouterTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterTLSConfig.
func (*RouterTLSConfig) DeepCopyInto ¶
func (in *RouterTLSConfig) DeepCopyInto(out *RouterTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Server ¶
type Server struct { URL string `json:"url,omitempty" toml:"url,omitempty" yaml:"url,omitempty" label:"-"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" label:"weight"` Scheme string `json:"-" toml:"-" yaml:"-" file:"-"` Port string `json:"-" toml:"-" yaml:"-" file:"-"` }
Server holds the server configuration.
func (*Server) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.
func (*Server) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Server) SetDefaults ¶
func (s *Server) SetDefaults()
SetDefaults Default values for a Server.
type ServerHealthCheck ¶
type ServerHealthCheck struct { Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty" export:"true"` Mode string `json:"mode,omitempty" toml:"mode,omitempty" yaml:"mode,omitempty" export:"true"` Path string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"` Method string `json:"method,omitempty" toml:"method,omitempty" yaml:"method,omitempty" export:"true"` Status int `json:"status,omitempty" toml:"status,omitempty" yaml:"status,omitempty" export:"true"` Port int `json:"port,omitempty" toml:"port,omitempty,omitzero" yaml:"port,omitempty" export:"true"` Interval ptypes.Duration `json:"interval,omitempty" toml:"interval,omitempty" yaml:"interval,omitempty" export:"true"` Timeout ptypes.Duration `json:"timeout,omitempty" toml:"timeout,omitempty" yaml:"timeout,omitempty" export:"true"` Hostname string `json:"hostname,omitempty" toml:"hostname,omitempty" yaml:"hostname,omitempty"` FollowRedirects *bool `json:"followRedirects,omitempty" toml:"followRedirects,omitempty" yaml:"followRedirects,omitempty" export:"true"` Headers map[string]string `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty" export:"true"` }
ServerHealthCheck holds the HealthCheck configuration.
func (*ServerHealthCheck) DeepCopy ¶
func (in *ServerHealthCheck) DeepCopy() *ServerHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerHealthCheck.
func (*ServerHealthCheck) DeepCopyInto ¶
func (in *ServerHealthCheck) DeepCopyInto(out *ServerHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerHealthCheck) SetDefaults ¶
func (h *ServerHealthCheck) SetDefaults()
SetDefaults Default values for a HealthCheck.
type ServersLoadBalancer ¶
type ServersLoadBalancer struct { Sticky *Sticky `` /* 138-byte string literal not displayed */ Servers []Server `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server" export:"true"` // HealthCheck enables regular active checks of the responsiveness of the // children servers of this load-balancer. To propagate status changes (e.g. all // servers of this service are down) upwards, HealthCheck must also be enabled on // the parent(s) of this service. HealthCheck *ServerHealthCheck `json:"healthCheck,omitempty" toml:"healthCheck,omitempty" yaml:"healthCheck,omitempty" export:"true"` PassHostHeader *bool `json:"passHostHeader" toml:"passHostHeader" yaml:"passHostHeader" export:"true"` ResponseForwarding *ResponseForwarding `json:"responseForwarding,omitempty" toml:"responseForwarding,omitempty" yaml:"responseForwarding,omitempty" export:"true"` ServersTransport string `json:"serversTransport,omitempty" toml:"serversTransport,omitempty" yaml:"serversTransport,omitempty" export:"true"` }
ServersLoadBalancer holds the ServersLoadBalancer configuration.
func (*ServersLoadBalancer) DeepCopy ¶
func (in *ServersLoadBalancer) DeepCopy() *ServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersLoadBalancer.
func (*ServersLoadBalancer) DeepCopyInto ¶
func (in *ServersLoadBalancer) DeepCopyInto(out *ServersLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServersLoadBalancer) Mergeable ¶
func (l *ServersLoadBalancer) Mergeable(loadBalancer *ServersLoadBalancer) bool
Mergeable tells if the given service is mergeable.
func (*ServersLoadBalancer) SetDefaults ¶
func (l *ServersLoadBalancer) SetDefaults()
SetDefaults Default values for a ServersLoadBalancer.
type ServersTransport ¶
type ServersTransport struct { ServerName string `` /* 148-byte string literal not displayed */ InsecureSkipVerify bool `` /* 174-byte string literal not displayed */ RootCAs []types.FileOrContent `` /* 157-byte string literal not displayed */ Certificates traefiktls.Certificates `` /* 180-byte string literal not displayed */ MaxIdleConnsPerHost int `` /* 252-byte string literal not displayed */ ForwardingTimeouts *ForwardingTimeouts `` /* 203-byte string literal not displayed */ DisableHTTP2 bool `` /* 171-byte string literal not displayed */ PeerCertURI string `` /* 202-byte string literal not displayed */ Spiffe *Spiffe `` /* 170-byte string literal not displayed */ }
ServersTransport options to configure communication between Traefik and the servers.
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.
type Service ¶
type Service struct { LoadBalancer *ServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty" export:"true"` Weighted *WeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-" export:"true"` Mirroring *Mirroring `json:"mirroring,omitempty" toml:"mirroring,omitempty" yaml:"mirroring,omitempty" label:"-" export:"true"` Failover *Failover `json:"failover,omitempty" toml:"failover,omitempty" yaml:"failover,omitempty" label:"-" export:"true"` }
Service holds a service configuration (can only be of one type at the same time).
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 SourceCriterion ¶
type SourceCriterion struct { IPStrategy *IPStrategy `json:"ipStrategy,omitempty" toml:"ipStrategy,omitempty" yaml:"ipStrategy,omitempty" export:"true"` // RequestHeaderName defines the name of the header used to group incoming requests. RequestHeaderName string `json:"requestHeaderName,omitempty" toml:"requestHeaderName,omitempty" yaml:"requestHeaderName,omitempty" export:"true"` // RequestHost defines whether to consider the request Host as the source. RequestHost bool `json:"requestHost,omitempty" toml:"requestHost,omitempty" yaml:"requestHost,omitempty" export:"true"` }
SourceCriterion defines what criterion is used to group requests as originating from a common source. If none are set, the default is to use the request's remote address field. All fields are mutually exclusive.
func (*SourceCriterion) DeepCopy ¶
func (in *SourceCriterion) DeepCopy() *SourceCriterion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceCriterion.
func (*SourceCriterion) DeepCopyInto ¶
func (in *SourceCriterion) DeepCopyInto(out *SourceCriterion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Spiffe ¶
type Spiffe struct { // IDs defines the allowed SPIFFE IDs (takes precedence over the SPIFFE TrustDomain). IDs []string `` /* 155-byte string literal not displayed */ // TrustDomain defines the allowed SPIFFE trust domain. TrustDomain string `` /* 141-byte string literal not displayed */ }
Spiffe holds the SPIFFE configuration.
func (*Spiffe) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spiffe.
func (*Spiffe) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sticky ¶
type Sticky struct { // Cookie defines the sticky cookie configuration. Cookie *Cookie `` /* 138-byte string literal not displayed */ }
Sticky holds the sticky configuration.
func (*Sticky) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sticky.
func (*Sticky) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StripPrefix ¶
type StripPrefix struct { // Prefixes defines the prefixes to strip from the request URL. Prefixes []string `json:"prefixes,omitempty" toml:"prefixes,omitempty" yaml:"prefixes,omitempty" export:"true"` // Deprecated: ForceSlash option is deprecated, please remove any usage of this option. // ForceSlash ensures that the resulting stripped path is not the empty string, by replacing it with / when necessary. // Default: true. ForceSlash *bool `json:"forceSlash,omitempty" toml:"forceSlash,omitempty" yaml:"forceSlash,omitempty" export:"true"` }
StripPrefix holds the strip prefix middleware configuration. This middleware removes the specified prefixes from the URL path. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/stripprefix/
func (*StripPrefix) DeepCopy ¶
func (in *StripPrefix) DeepCopy() *StripPrefix
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StripPrefix.
func (*StripPrefix) DeepCopyInto ¶
func (in *StripPrefix) DeepCopyInto(out *StripPrefix)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StripPrefixRegex ¶
type StripPrefixRegex struct { // Regex defines the regular expression to match the path prefix from the request URL. Regex []string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty" export:"true"` }
StripPrefixRegex holds the strip prefix regex middleware configuration. This middleware removes the matching prefixes from the URL path. More info: https://doc.traefik.io/traefik/v3.1/middlewares/http/stripprefixregex/
func (*StripPrefixRegex) DeepCopy ¶
func (in *StripPrefixRegex) DeepCopy() *StripPrefixRegex
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StripPrefixRegex.
func (*StripPrefixRegex) DeepCopyInto ¶
func (in *StripPrefixRegex) DeepCopyInto(out *StripPrefixRegex)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPConfiguration ¶
type TCPConfiguration struct { Routers map[string]*TCPRouter `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty" export:"true"` Services map[string]*TCPService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"` Middlewares map[string]*TCPMiddleware `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"` Models map[string]*TCPModel `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"` ServersTransports map[string]*TCPServersTransport `` /* 128-byte string literal not displayed */ }
TCPConfiguration contains all the TCP configuration parameters.
func (*TCPConfiguration) DeepCopy ¶
func (in *TCPConfiguration) DeepCopy() *TCPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPConfiguration.
func (*TCPConfiguration) DeepCopyInto ¶
func (in *TCPConfiguration) DeepCopyInto(out *TCPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPIPAllowList ¶
type TCPIPAllowList struct { // SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation). SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"` }
TCPIPAllowList holds the TCP IPAllowList middleware configuration. This middleware limits allowed requests based on the client IP. More info: https://doc.traefik.io/traefik/v3.1/middlewares/tcp/ipallowlist/
func (*TCPIPAllowList) DeepCopy ¶
func (in *TCPIPAllowList) DeepCopy() *TCPIPAllowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIPAllowList.
func (*TCPIPAllowList) DeepCopyInto ¶
func (in *TCPIPAllowList) DeepCopyInto(out *TCPIPAllowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPIPWhiteList ¶
type TCPIPWhiteList struct { // SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation). SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"` }
TCPIPWhiteList holds the TCP IPWhiteList middleware configuration. Deprecated: please use IPAllowList instead.
func (*TCPIPWhiteList) DeepCopy ¶
func (in *TCPIPWhiteList) DeepCopy() *TCPIPWhiteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIPWhiteList.
func (*TCPIPWhiteList) DeepCopyInto ¶
func (in *TCPIPWhiteList) DeepCopyInto(out *TCPIPWhiteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPInFlightConn ¶
type TCPInFlightConn struct { // Amount defines the maximum amount of allowed simultaneous connections. // The middleware closes the connection if there are already amount connections opened. Amount int64 `json:"amount,omitempty" toml:"amount,omitempty" yaml:"amount,omitempty" export:"true"` }
TCPInFlightConn holds the TCP InFlightConn middleware configuration. This middleware prevents services from being overwhelmed with high load, by limiting the number of allowed simultaneous connections for one IP. More info: https://doc.traefik.io/traefik/v3.1/middlewares/tcp/inflightconn/
func (*TCPInFlightConn) DeepCopy ¶
func (in *TCPInFlightConn) DeepCopy() *TCPInFlightConn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPInFlightConn.
func (*TCPInFlightConn) DeepCopyInto ¶
func (in *TCPInFlightConn) DeepCopyInto(out *TCPInFlightConn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPMiddleware ¶
type TCPMiddleware struct { InFlightConn *TCPInFlightConn `json:"inFlightConn,omitempty" toml:"inFlightConn,omitempty" yaml:"inFlightConn,omitempty" export:"true"` // Deprecated: please use IPAllowList instead. IPWhiteList *TCPIPWhiteList `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,omitempty" export:"true"` IPAllowList *TCPIPAllowList `json:"ipAllowList,omitempty" toml:"ipAllowList,omitempty" yaml:"ipAllowList,omitempty" export:"true"` }
TCPMiddleware holds the TCPMiddleware configuration.
func (*TCPMiddleware) DeepCopy ¶
func (in *TCPMiddleware) DeepCopy() *TCPMiddleware
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPMiddleware.
func (*TCPMiddleware) DeepCopyInto ¶
func (in *TCPMiddleware) DeepCopyInto(out *TCPMiddleware)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPModel ¶
type TCPModel struct {
DefaultRuleSyntax string `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
TCPModel is a set of default router's values.
func (*TCPModel) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPModel.
func (*TCPModel) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPRouter ¶
type TCPRouter struct { EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty" export:"true"` Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"` Rule string `json:"rule,omitempty" toml:"rule,omitempty" yaml:"rule,omitempty"` RuleSyntax string `json:"ruleSyntax,omitempty" toml:"ruleSyntax,omitempty" yaml:"ruleSyntax,omitempty" export:"true"` Priority int `json:"priority,omitempty" toml:"priority,omitempty,omitzero" yaml:"priority,omitempty" export:"true"` TLS *RouterTCPTLSConfig `` /* 129-byte string literal not displayed */ }
TCPRouter holds the router configuration.
func (*TCPRouter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouter.
func (*TCPRouter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPServer ¶
type TCPServer struct { Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty" label:"-"` Port string `json:"-" toml:"-" yaml:"-"` TLS bool `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty"` }
TCPServer holds a TCP Server configuration.
func (*TCPServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServer.
func (*TCPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPServersLoadBalancer ¶
type TCPServersLoadBalancer struct { ProxyProtocol *ProxyProtocol `` /* 159-byte string literal not displayed */ Servers []TCPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server" export:"true"` ServersTransport string `json:"serversTransport,omitempty" toml:"serversTransport,omitempty" yaml:"serversTransport,omitempty" export:"true"` // TerminationDelay, corresponds to 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: use ServersTransport to configure the TerminationDelay instead. TerminationDelay *int `json:"terminationDelay,omitempty" toml:"terminationDelay,omitempty" yaml:"terminationDelay,omitempty" export:"true"` }
TCPServersLoadBalancer holds the LoadBalancerService configuration.
func (*TCPServersLoadBalancer) DeepCopy ¶
func (in *TCPServersLoadBalancer) DeepCopy() *TCPServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServersLoadBalancer.
func (*TCPServersLoadBalancer) DeepCopyInto ¶
func (in *TCPServersLoadBalancer) DeepCopyInto(out *TCPServersLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPServersLoadBalancer) Mergeable ¶
func (l *TCPServersLoadBalancer) Mergeable(loadBalancer *TCPServersLoadBalancer) bool
Mergeable tells if the given service is mergeable.
type TCPServersTransport ¶
type TCPServersTransport struct { DialKeepAlive ptypes.Duration `` /* 467-byte string literal not displayed */ DialTimeout ptypes.Duration `` /* 236-byte string literal not displayed */ // TerminationDelay, corresponds to 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 ptypes.Duration `` /* 256-byte string literal not displayed */ TLS *TLSClientConfig `` /* 174-byte string literal not displayed */ }
TCPServersTransport options to configure communication between Traefik and the servers.
func (*TCPServersTransport) DeepCopy ¶
func (in *TCPServersTransport) DeepCopy() *TCPServersTransport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServersTransport.
func (*TCPServersTransport) DeepCopyInto ¶
func (in *TCPServersTransport) DeepCopyInto(out *TCPServersTransport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPServersTransport) SetDefaults ¶
func (t *TCPServersTransport) SetDefaults()
SetDefaults sets the default values for a TCPServersTransport.
type TCPService ¶
type TCPService struct { LoadBalancer *TCPServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty" export:"true"` Weighted *TCPWeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-" export:"true"` }
TCPService holds a tcp service configuration (can only be of one type at the same time).
func (*TCPService) DeepCopy ¶
func (in *TCPService) DeepCopy() *TCPService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPService.
func (*TCPService) DeepCopyInto ¶
func (in *TCPService) DeepCopyInto(out *TCPService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPWRRService ¶
type TCPWRRService struct { Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"` }
TCPWRRService is a reference to a tcp service load-balanced with weighted round robin.
func (*TCPWRRService) DeepCopy ¶
func (in *TCPWRRService) DeepCopy() *TCPWRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPWRRService.
func (*TCPWRRService) DeepCopyInto ¶
func (in *TCPWRRService) DeepCopyInto(out *TCPWRRService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPWRRService) SetDefaults ¶
func (w *TCPWRRService) SetDefaults()
SetDefaults Default values for a TCPWRRService.
type TCPWeightedRoundRobin ¶
type TCPWeightedRoundRobin struct {
Services []TCPWRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
}
TCPWeightedRoundRobin is a weighted round robin tcp load-balancer of services.
func (*TCPWeightedRoundRobin) DeepCopy ¶
func (in *TCPWeightedRoundRobin) DeepCopy() *TCPWeightedRoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPWeightedRoundRobin.
func (*TCPWeightedRoundRobin) DeepCopyInto ¶
func (in *TCPWeightedRoundRobin) DeepCopyInto(out *TCPWeightedRoundRobin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateInfo ¶
type TLSClientCertificateInfo struct { // NotAfter defines whether to add the Not After information from the Validity part. NotAfter bool `json:"notAfter,omitempty" toml:"notAfter,omitempty" yaml:"notAfter,omitempty" export:"true"` // NotBefore defines whether to add the Not Before information from the Validity part. NotBefore bool `json:"notBefore,omitempty" toml:"notBefore,omitempty" yaml:"notBefore,omitempty" export:"true"` // Sans defines whether to add the Subject Alternative Name information from the Subject Alternative Name part. Sans bool `json:"sans,omitempty" toml:"sans,omitempty" yaml:"sans,omitempty" export:"true"` // SerialNumber defines whether to add the client serialNumber information. SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty" export:"true"` // Subject defines the client certificate subject details to add to the X-Forwarded-Tls-Client-Cert-Info header. Subject *TLSClientCertificateSubjectDNInfo `json:"subject,omitempty" toml:"subject,omitempty" yaml:"subject,omitempty" export:"true"` // Issuer defines the client certificate issuer details to add to the X-Forwarded-Tls-Client-Cert-Info header. Issuer *TLSClientCertificateIssuerDNInfo `json:"issuer,omitempty" toml:"issuer,omitempty" yaml:"issuer,omitempty" export:"true"` }
TLSClientCertificateInfo holds the client TLS certificate info configuration.
func (*TLSClientCertificateInfo) DeepCopy ¶
func (in *TLSClientCertificateInfo) DeepCopy() *TLSClientCertificateInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientCertificateInfo.
func (*TLSClientCertificateInfo) DeepCopyInto ¶
func (in *TLSClientCertificateInfo) DeepCopyInto(out *TLSClientCertificateInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateIssuerDNInfo ¶
type TLSClientCertificateIssuerDNInfo struct { // Country defines whether to add the country information into the issuer. Country bool `json:"country,omitempty" toml:"country,omitempty" yaml:"country,omitempty" export:"true"` // Province defines whether to add the province information into the issuer. Province bool `json:"province,omitempty" toml:"province,omitempty" yaml:"province,omitempty" export:"true"` // Locality defines whether to add the locality information into the issuer. Locality bool `json:"locality,omitempty" toml:"locality,omitempty" yaml:"locality,omitempty" export:"true"` // Organization defines whether to add the organization information into the issuer. Organization bool `json:"organization,omitempty" toml:"organization,omitempty" yaml:"organization,omitempty" export:"true"` // CommonName defines whether to add the organizationalUnit information into the issuer. CommonName bool `json:"commonName,omitempty" toml:"commonName,omitempty" yaml:"commonName,omitempty" export:"true"` // SerialNumber defines whether to add the serialNumber information into the issuer. SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty" export:"true"` // DomainComponent defines whether to add the domainComponent information into the issuer. DomainComponent bool `json:"domainComponent,omitempty" toml:"domainComponent,omitempty" yaml:"domainComponent,omitempty" export:"true"` }
TLSClientCertificateIssuerDNInfo holds the client TLS certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
func (*TLSClientCertificateIssuerDNInfo) DeepCopy ¶
func (in *TLSClientCertificateIssuerDNInfo) DeepCopy() *TLSClientCertificateIssuerDNInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientCertificateIssuerDNInfo.
func (*TLSClientCertificateIssuerDNInfo) DeepCopyInto ¶
func (in *TLSClientCertificateIssuerDNInfo) DeepCopyInto(out *TLSClientCertificateIssuerDNInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateSubjectDNInfo ¶
type TLSClientCertificateSubjectDNInfo struct { // Country defines whether to add the country information into the subject. Country bool `json:"country,omitempty" toml:"country,omitempty" yaml:"country,omitempty" export:"true"` // Province defines whether to add the province information into the subject. Province bool `json:"province,omitempty" toml:"province,omitempty" yaml:"province,omitempty" export:"true"` // Locality defines whether to add the locality information into the subject. Locality bool `json:"locality,omitempty" toml:"locality,omitempty" yaml:"locality,omitempty" export:"true"` // Organization defines whether to add the organization information into the subject. Organization bool `json:"organization,omitempty" toml:"organization,omitempty" yaml:"organization,omitempty" export:"true"` // OrganizationalUnit defines whether to add the organizationalUnit information into the subject. OrganizationalUnit bool `json:"organizationalUnit,omitempty" toml:"organizationalUnit,omitempty" yaml:"organizationalUnit,omitempty" export:"true"` // CommonName defines whether to add the organizationalUnit information into the subject. CommonName bool `json:"commonName,omitempty" toml:"commonName,omitempty" yaml:"commonName,omitempty" export:"true"` // SerialNumber defines whether to add the serialNumber information into the subject. SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty" export:"true"` // DomainComponent defines whether to add the domainComponent information into the subject. DomainComponent bool `json:"domainComponent,omitempty" toml:"domainComponent,omitempty" yaml:"domainComponent,omitempty" export:"true"` }
TLSClientCertificateSubjectDNInfo holds the client TLS certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
func (*TLSClientCertificateSubjectDNInfo) DeepCopy ¶
func (in *TLSClientCertificateSubjectDNInfo) DeepCopy() *TLSClientCertificateSubjectDNInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientCertificateSubjectDNInfo.
func (*TLSClientCertificateSubjectDNInfo) DeepCopyInto ¶
func (in *TLSClientCertificateSubjectDNInfo) DeepCopyInto(out *TLSClientCertificateSubjectDNInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientConfig ¶
type TLSClientConfig struct { ServerName string `` /* 148-byte string literal not displayed */ InsecureSkipVerify bool `` /* 174-byte string literal not displayed */ RootCAs []types.FileOrContent `` /* 157-byte string literal not displayed */ Certificates traefiktls.Certificates `` /* 180-byte string literal not displayed */ PeerCertURI string `` /* 202-byte string literal not displayed */ Spiffe *Spiffe `` /* 174-byte string literal not displayed */ }
TLSClientConfig options to configure TLS communication between Traefik and the servers.
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 TLSConfiguration ¶
type TLSConfiguration struct { Certificates []*tls.CertAndStores `json:"certificates,omitempty" toml:"certificates,omitempty" yaml:"certificates,omitempty" label:"-" export:"true"` Options map[string]tls.Options `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty" label:"-" export:"true"` Stores map[string]tls.Store `json:"stores,omitempty" toml:"stores,omitempty" yaml:"stores,omitempty" export:"true"` }
TLSConfiguration contains all the configuration parameters of a TLS connection.
func (*TLSConfiguration) DeepCopy ¶
func (in *TLSConfiguration) DeepCopy() *TLSConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfiguration.
func (*TLSConfiguration) DeepCopyInto ¶
func (in *TLSConfiguration) DeepCopyInto(out *TLSConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPConfiguration ¶
type UDPConfiguration struct { Routers map[string]*UDPRouter `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty" export:"true"` Services map[string]*UDPService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"` }
UDPConfiguration contains all the UDP configuration parameters.
func (*UDPConfiguration) DeepCopy ¶
func (in *UDPConfiguration) DeepCopy() *UDPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPConfiguration.
func (*UDPConfiguration) DeepCopyInto ¶
func (in *UDPConfiguration) DeepCopyInto(out *UDPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPRouter ¶
type UDPRouter struct { EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty" export:"true"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"` }
UDPRouter defines the configuration for an UDP router.
func (*UDPRouter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouter.
func (*UDPRouter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPServer ¶
type UDPServer struct { Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty" label:"-"` Port string `json:"-" toml:"-" yaml:"-" file:"-"` }
UDPServer defines a UDP server configuration.
func (*UDPServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPServer.
func (*UDPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPServersLoadBalancer ¶
type UDPServersLoadBalancer struct {
Servers []UDPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server" export:"true"`
}
UDPServersLoadBalancer defines the configuration for a load-balancer of UDP servers.
func (*UDPServersLoadBalancer) DeepCopy ¶
func (in *UDPServersLoadBalancer) DeepCopy() *UDPServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPServersLoadBalancer.
func (*UDPServersLoadBalancer) DeepCopyInto ¶
func (in *UDPServersLoadBalancer) DeepCopyInto(out *UDPServersLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPServersLoadBalancer) Mergeable ¶
func (l *UDPServersLoadBalancer) Mergeable(loadBalancer *UDPServersLoadBalancer) bool
Mergeable reports whether the given load-balancer can be merged with the receiver.
type UDPService ¶
type UDPService struct { LoadBalancer *UDPServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty" export:"true"` Weighted *UDPWeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-" export:"true"` }
UDPService defines the configuration for a UDP service. All fields are mutually exclusive.
func (*UDPService) DeepCopy ¶
func (in *UDPService) DeepCopy() *UDPService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPService.
func (*UDPService) DeepCopyInto ¶
func (in *UDPService) DeepCopyInto(out *UDPService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPWRRService ¶
type UDPWRRService struct { Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"` }
UDPWRRService is a reference to a UDP service load-balanced with weighted round robin.
func (*UDPWRRService) DeepCopy ¶
func (in *UDPWRRService) DeepCopy() *UDPWRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPWRRService.
func (*UDPWRRService) DeepCopyInto ¶
func (in *UDPWRRService) DeepCopyInto(out *UDPWRRService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPWRRService) SetDefaults ¶
func (w *UDPWRRService) SetDefaults()
SetDefaults sets the default values for a UDPWRRService.
type UDPWeightedRoundRobin ¶
type UDPWeightedRoundRobin struct {
Services []UDPWRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
}
UDPWeightedRoundRobin is a weighted round robin UDP load-balancer of services.
func (*UDPWeightedRoundRobin) DeepCopy ¶
func (in *UDPWeightedRoundRobin) DeepCopy() *UDPWeightedRoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPWeightedRoundRobin.
func (*UDPWeightedRoundRobin) DeepCopyInto ¶
func (in *UDPWeightedRoundRobin) DeepCopyInto(out *UDPWeightedRoundRobin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type URLRewrite ¶ added in v3.1.0
type URLRewrite struct { Hostname *string `json:"hostname,omitempty"` Path *string `json:"path,omitempty"` PathPrefix *string `json:"pathPrefix,omitempty"` }
URLRewrite holds the URL rewrite middleware configuration.
func (*URLRewrite) DeepCopy ¶ added in v3.1.0
func (in *URLRewrite) DeepCopy() *URLRewrite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewrite.
func (*URLRewrite) DeepCopyInto ¶ added in v3.1.0
func (in *URLRewrite) DeepCopyInto(out *URLRewrite)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Users ¶
type Users []string
Users holds a list of users.
func (Users) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Users.
func (Users) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WRRService ¶
type WRRService struct { Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"` // Status defines an HTTP status code that should be returned when calling the service. // This is required by the Gateway API implementation which expects specific HTTP status to be returned. Status *int `json:"-" toml:"-" yaml:"-" label:"-" file:"-"` }
WRRService is a reference to a service load-balanced with weighted round-robin.
func (*WRRService) DeepCopy ¶
func (in *WRRService) DeepCopy() *WRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WRRService.
func (*WRRService) DeepCopyInto ¶
func (in *WRRService) DeepCopyInto(out *WRRService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WRRService) SetDefaults ¶
func (w *WRRService) SetDefaults()
SetDefaults Default values for a WRRService.
type WeightedRoundRobin ¶
type WeightedRoundRobin struct { Services []WRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"` Sticky *Sticky `json:"sticky,omitempty" toml:"sticky,omitempty" yaml:"sticky,omitempty" export:"true"` // HealthCheck enables automatic self-healthcheck for this service, i.e. // whenever one of its children is reported as down, this service becomes aware of it, // and takes it into account (i.e. it ignores the down child) when running the // load-balancing algorithm. In addition, if the parent of this service also has // HealthCheck enabled, this service reports to its parent any status change. HealthCheck *HealthCheck `` /* 153-byte string literal not displayed */ }
WeightedRoundRobin is a weighted round robin load-balancer of services.
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.