dynamic

package
v2.7.2 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2022 License: MIT Imports: 7 Imported by: 26

Documentation

Index

Constants

This section is empty.

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

func (*AddPrefix) DeepCopy

func (in *AddPrefix) DeepCopy() *AddPrefix

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

func (*AddPrefix) DeepCopyInto

func (in *AddPrefix) DeepCopyInto(out *AddPrefix)

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

func (*BasicAuth) DeepCopy

func (in *BasicAuth) DeepCopy() *BasicAuth

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

func (*BasicAuth) DeepCopyInto

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

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

type 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/v2.7/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/v2.7/middlewares/http/buffering/#maxrequestbodybytes

func (*Buffering) DeepCopy

func (in *Buffering) DeepCopy() *Buffering

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

func (*Buffering) DeepCopyInto

func (in *Buffering) DeepCopyInto(out *Buffering)

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

func (in *Chain) DeepCopy() *Chain

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

func (*Chain) DeepCopyInto

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

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

type CircuitBreaker

type CircuitBreaker struct {
	// Expression 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"`
}

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/v2.7/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.

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.
	ExcludedContentTypes []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 */
}

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

func (*Compress) DeepCopy

func (in *Compress) DeepCopy() *Compress

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

func (*Compress) DeepCopyInto

func (in *Compress) DeepCopyInto(out *Compress)

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.
	// As a proxy, the default behavior should be to leave the header alone, regardless of what the backend did with it.
	// However, the historic default was to always auto-detect and set the header if it was nil,
	// and it is going to be kept that way in order to support users currently relying on it.
	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 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"`
}

Cookie holds the sticky configuration based on cookie.

func (*Cookie) DeepCopy

func (in *Cookie) DeepCopy() *Cookie

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

func (*Cookie) DeepCopyInto

func (in *Cookie) DeepCopyInto(out *Cookie)

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/v2.7/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/v2.7/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

func (in *ErrorPage) DeepCopy() *ErrorPage

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

func (*ErrorPage) DeepCopyInto

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

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

type Failover added in v2.7.0

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 added in v2.7.0

func (in *Failover) DeepCopy() *Failover

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

func (*Failover) DeepCopyInto added in v2.7.0

func (in *Failover) DeepCopyInto(out *Failover)

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 *types.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/v2.7/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"`
}

ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. More info: https://doc.traefik.io/traefik/v2.7/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 added in v2.4.0

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 added in v2.4.0

func (in *ForwardingTimeouts) DeepCopy() *ForwardingTimeouts

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

func (*ForwardingTimeouts) DeepCopyInto added in v2.4.0

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 added in v2.4.0

func (f *ForwardingTimeouts) SetDefaults()

SetDefaults sets the default values.

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"`
	// Deprecated: use EntryPoint redirection or RedirectScheme instead.
	SSLRedirect bool `json:"sslRedirect,omitempty" toml:"sslRedirect,omitempty" yaml:"sslRedirect,omitempty" export:"true"`
	// Deprecated: use EntryPoint redirection or RedirectScheme instead.
	SSLTemporaryRedirect bool `` /* 127-byte string literal not displayed */
	// Deprecated: use RedirectRegex instead.
	SSLHost string `json:"sslHost,omitempty" toml:"sslHost,omitempty" yaml:"sslHost,omitempty"`
	// 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"`
	// Deprecated: use RedirectRegex instead.
	SSLForceHost bool `json:"sslForceHost,omitempty" toml:"sslForceHost,omitempty" yaml:"sslForceHost,omitempty" export:"true"`
	// 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"`
	// 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"`
	// Deprecated: use PermissionsPolicy instead.
	FeaturePolicy string `json:"featurePolicy,omitempty" toml:"featurePolicy,omitempty" yaml:"featurePolicy,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"`
}

Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More info: https://doc.traefik.io/traefik/v2.7/middlewares/http/headers/#customrequestheaders

func (*Headers) DeepCopy

func (in *Headers) DeepCopy() *Headers

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

func (*Headers) DeepCopyInto

func (in *Headers) DeepCopyInto(out *Headers)

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

func (*Headers) HasCorsHeadersDefined

func (h *Headers) HasCorsHeadersDefined() bool

HasCorsHeadersDefined checks to see if any of the cors header elements have been set.

func (*Headers) HasCustomHeadersDefined

func (h *Headers) HasCustomHeadersDefined() bool

HasCustomHeadersDefined checks to see if any of the custom header elements have been set.

func (*Headers) HasSecureHeadersDefined

func (h *Headers) HasSecureHeadersDefined() bool

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 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/v2.7/middlewares/http/ipwhitelist/#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.

func (*IPStrategy) Get

func (s *IPStrategy) Get() (ip.Strategy, error)

Get an IP selection strategy. If nil return the RemoteAddr strategy else return a strategy based on the configuration using the X-Forwarded-For Header. Depth override the ExcludedIPs.

type IPWhiteList

type IPWhiteList 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 `` /* 151-byte string literal not displayed */
}

IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. More info: https://doc.traefik.io/traefik/v2.7/middlewares/http/ipwhitelist/

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/v2.7/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/v2.7/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

func (in *Message) DeepCopy() *Message

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

func (*Message) DeepCopyInto

func (in *Message) DeepCopyInto(out *Message)

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"`
	IPWhiteList       *IPWhiteList       `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,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       `json:"contentType,omitempty" toml:"contentType,omitempty" yaml:"contentType,omitempty" export:"true"`

	Plugin map[string]PluginConf `json:"plugin,omitempty" toml:"plugin,omitempty" yaml:"plugin,omitempty" 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

func (in *Mirroring) DeepCopy() *Mirroring

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

func (*Mirroring) DeepCopyInto

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

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

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 */
}

Model is a set of default router's values.

func (*Model) DeepCopy

func (in *Model) DeepCopy() *Model

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

func (*Model) DeepCopyInto

func (in *Model) DeepCopyInto(out *Model)

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 escaped 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/v2.7/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

type PluginConf map[string]interface{}

PluginConf holds the plugin configuration.

func (*PluginConf) DeepCopy

func (in *PluginConf) DeepCopy() *PluginConf

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

func (*PluginConf) DeepCopyInto

func (in *PluginConf) DeepCopyInto(out *PluginConf)

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

type ProxyProtocol added in v2.4.0

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/v2.7/routing/services/#proxy-protocol

func (*ProxyProtocol) DeepCopy added in v2.4.0

func (in *ProxyProtocol) DeepCopy() *ProxyProtocol

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

func (*ProxyProtocol) DeepCopyInto added in v2.4.0

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 added in v2.4.0

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

func (in *RateLimit) DeepCopy() *RateLimit

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

func (*RateLimit) DeepCopyInto

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

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

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/v2.7/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/v2.7/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/v2.7/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/v2.7/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 ResponseForwarding

type ResponseForwarding struct {
	// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body.
	// A negative value means to flush immediately after each write to the client.
	// This configuration is ignored when ReverseProxy recognizes a response as a streaming response;
	// for such responses, writes are flushed to the client immediately.
	// Default: 100ms
	FlushInterval string `json:"flushInterval,omitempty" 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.

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

func (*Retry) DeepCopy

func (in *Retry) DeepCopy() *Retry

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

func (*Retry) DeepCopyInto

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

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

type 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"`
	Priority    int              `json:"priority,omitempty" toml:"priority,omitempty,omitzero" yaml:"priority,omitempty" export:"true"`
	TLS         *RouterTLSConfig `` /* 129-byte string literal not displayed */
}

Router holds the router configuration.

func (*Router) DeepCopy

func (in *Router) DeepCopy() *Router

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

func (*Router) DeepCopyInto

func (in *Router) DeepCopyInto(out *Router)

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:"-"`
	Scheme string `toml:"-" json:"-" yaml:"-" file:"-"`
	Port   string `toml:"-" json:"-" yaml:"-" file:"-"`
}

Server holds the server configuration.

func (*Server) DeepCopy

func (in *Server) DeepCopy() *Server

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

func (*Server) DeepCopyInto

func (in *Server) DeepCopyInto(out *Server)

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 added in v2.5.0

type ServerHealthCheck struct {
	Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty" export:"true"`
	Path   string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"`
	Port   int    `json:"port,omitempty" toml:"port,omitempty,omitzero" yaml:"port,omitempty" export:"true"`
	// FIXME change string to ptypes.Duration
	Interval string `json:"interval,omitempty" toml:"interval,omitempty" yaml:"interval,omitempty" export:"true"`
	// FIXME change string to ptypes.Duration
	Timeout         string            `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" toml:"followRedirects" yaml:"followRedirects" 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 added in v2.5.0

func (in *ServerHealthCheck) DeepCopy() *ServerHealthCheck

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

func (*ServerHealthCheck) DeepCopyInto added in v2.5.0

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 added in v2.5.0

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 added in v2.4.0

type ServersTransport struct {
	ServerName          string                     `` /* 136-byte string literal not displayed */
	InsecureSkipVerify  bool                       `` /* 173-byte string literal not displayed */
	RootCAs             []traefiktls.FileOrContent `` /* 131-byte string literal not displayed */
	Certificates        traefiktls.Certificates    `` /* 140-byte string literal not displayed */
	MaxIdleConnsPerHost int                        `` /* 252-byte string literal not displayed */
	ForwardingTimeouts  *ForwardingTimeouts        `` /* 191-byte string literal not displayed */
	DisableHTTP2        bool                       `` /* 170-byte string literal not displayed */
	PeerCertURI         string                     `` /* 190-byte string literal not displayed */
}

ServersTransport options to configure communication between Traefik and the servers.

func (*ServersTransport) DeepCopy added in v2.4.0

func (in *ServersTransport) DeepCopy() *ServersTransport

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

func (*ServersTransport) DeepCopyInto added in v2.4.0

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

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

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

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

type 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 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

func (in *Sticky) DeepCopy() *Sticky

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

func (*Sticky) DeepCopyInto

func (in *Sticky) DeepCopyInto(out *Sticky)

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"`
	// 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"` // Deprecated
}

StripPrefix holds the strip prefix middleware configuration. This middleware removes the specified prefixes from the URL path. More info: https://doc.traefik.io/traefik/v2.7/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.

func (*StripPrefix) SetDefaults

func (s *StripPrefix) SetDefaults()

SetDefaults Default values for a StripPrefix.

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/v2.7/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"`
}

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 TCPIPWhiteList added in v2.5.0

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. This middleware accepts/refuses connections based on the client IP.

func (*TCPIPWhiteList) DeepCopy added in v2.5.0

func (in *TCPIPWhiteList) DeepCopy() *TCPIPWhiteList

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

func (*TCPIPWhiteList) DeepCopyInto added in v2.5.0

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 added in v2.6.0

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/v2.7/middlewares/tcp/inflightconn/

func (*TCPInFlightConn) DeepCopy added in v2.6.0

func (in *TCPInFlightConn) DeepCopy() *TCPInFlightConn

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

func (*TCPInFlightConn) DeepCopyInto added in v2.6.0

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 added in v2.5.0

type TCPMiddleware struct {
	InFlightConn *TCPInFlightConn `json:"inFlightConn,omitempty" toml:"inFlightConn,omitempty" yaml:"inFlightConn,omitempty" export:"true"`
	IPWhiteList  *TCPIPWhiteList  `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,omitempty" export:"true"`
}

TCPMiddleware holds the TCPMiddleware configuration.

func (*TCPMiddleware) DeepCopy added in v2.5.0

func (in *TCPMiddleware) DeepCopy() *TCPMiddleware

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

func (*TCPMiddleware) DeepCopyInto added in v2.5.0

func (in *TCPMiddleware) DeepCopyInto(out *TCPMiddleware)

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"`
	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

func (in *TCPRouter) DeepCopy() *TCPRouter

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

func (*TCPRouter) DeepCopyInto

func (in *TCPRouter) DeepCopyInto(out *TCPRouter)

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 `toml:"-" json:"-" yaml:"-"`
}

TCPServer holds a TCP Server configuration.

func (*TCPServer) DeepCopy

func (in *TCPServer) DeepCopy() *TCPServer

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

func (*TCPServer) DeepCopyInto

func (in *TCPServer) DeepCopyInto(out *TCPServer)

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

type TCPServersLoadBalancer

type TCPServersLoadBalancer struct {
	// 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 *int           `json:"terminationDelay,omitempty" toml:"terminationDelay,omitempty" yaml:"terminationDelay,omitempty" export:"true"`
	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"`
}

TCPServersLoadBalancer holds the LoadBalancerService configuration.

func (*TCPServersLoadBalancer) DeepCopy

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.

func (*TCPServersLoadBalancer) SetDefaults

func (l *TCPServersLoadBalancer) SetDefaults()

SetDefaults Default values for a TCPServersLoadBalancer.

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

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

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 added in v2.6.0

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 added in v2.6.0

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

func (*TLSClientCertificateIssuerDNInfo) DeepCopyInto added in v2.6.0

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

type TLSClientCertificateSubjectDNInfo added in v2.6.0

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 added in v2.6.0

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

func (*TLSClientCertificateSubjectDNInfo) DeepCopyInto added in v2.6.0

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" 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

func (in *UDPRouter) DeepCopy() *UDPRouter

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

func (*UDPRouter) DeepCopyInto

func (in *UDPRouter) DeepCopyInto(out *UDPRouter)

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 `toml:"-" json:"-" yaml:"-" file:"-"`
}

UDPServer defines a UDP server configuration.

func (*UDPServer) DeepCopy

func (in *UDPServer) DeepCopy() *UDPServer

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

func (*UDPServer) DeepCopyInto

func (in *UDPServer) DeepCopyInto(out *UDPServer)

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

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

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 Users

type Users []string

Users holds a list of users.

func (Users) DeepCopy

func (in Users) DeepCopy() Users

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

func (Users) DeepCopyInto

func (in Users) DeepCopyInto(out *Users)

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"`
}

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.

Jump to

Keyboard shortcuts

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