Documentation ¶
Index ¶
- type AddPrefix
- type Auth
- 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 ForwardAuth
- type HTTPConfiguration
- type Headers
- type HealthCheck
- type IPStrategy
- type IPWhiteList
- type InFlightReq
- type Message
- type Middleware
- type MirrorService
- type Mirroring
- type Model
- type PassTLSClientCert
- type RateLimit
- type RedirectRegex
- type RedirectScheme
- type ReplacePath
- type ReplacePathRegex
- type ResponseForwarding
- type Retry
- type Router
- type RouterTCPTLSConfig
- type RouterTLSConfig
- type Server
- type ServersLoadBalancer
- type Service
- type SourceCriterion
- type Sticky
- type StripPrefix
- type StripPrefixRegex
- type TCPConfiguration
- type TCPRouter
- type TCPServer
- type TCPServersLoadBalancer
- type TCPService
- type TCPWRRService
- type TCPWeightedRoundRobin
- type TLSCLientCertificateDNInfo
- type TLSClientCertificateInfo
- type TLSConfiguration
- type UDPConfiguration
- type UDPRouter
- type UDPServer
- type UDPServersLoadBalancer
- type UDPService
- type UDPWRRService
- type UDPWeightedRoundRobin
- type Users
- type WRRService
- type WeightedRoundRobin
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddPrefix ¶
type AddPrefix struct {
Prefix string `json:"prefix,omitempty" toml:"prefix,omitempty" yaml:"prefix,omitempty"`
}
AddPrefix holds the AddPrefix configuration.
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 Auth ¶
type Auth struct { Basic *BasicAuth `json:"basic,omitempty" toml:"basic,omitempty" yaml:"basic,omitempty" export:"true"` Digest *DigestAuth `json:"digest,omitempty" toml:"digest,omitempty" yaml:"digest,omitempty" export:"true"` Forward *ForwardAuth `json:"forward,omitempty" toml:"forward,omitempty" yaml:"forward,omitempty" export:"true"` }
Auth holds the authentication configuration (BASIC, DIGEST, users).
func (*Auth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.
func (*Auth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BasicAuth ¶
type BasicAuth struct { Users Users `json:"users,omitempty" toml:"users,omitempty" yaml:"users,omitempty"` UsersFile string `json:"usersFile,omitempty" toml:"usersFile,omitempty" yaml:"usersFile,omitempty"` Realm string `json:"realm,omitempty" toml:"realm,omitempty" yaml:"realm,omitempty"` RemoveHeader bool `json:"removeHeader,omitempty" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty"` HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` }
BasicAuth holds the HTTP basic authentication configuration.
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 int64 `json:"maxRequestBodyBytes,omitempty" toml:"maxRequestBodyBytes,omitempty" yaml:"maxRequestBodyBytes,omitempty"` MemRequestBodyBytes int64 `json:"memRequestBodyBytes,omitempty" toml:"memRequestBodyBytes,omitempty" yaml:"memRequestBodyBytes,omitempty"` MaxResponseBodyBytes int64 `json:"maxResponseBodyBytes,omitempty" toml:"maxResponseBodyBytes,omitempty" yaml:"maxResponseBodyBytes,omitempty"` MemResponseBodyBytes int64 `json:"memResponseBodyBytes,omitempty" toml:"memResponseBodyBytes,omitempty" yaml:"memResponseBodyBytes,omitempty"` RetryExpression string `json:"retryExpression,omitempty" toml:"retryExpression,omitempty" yaml:"retryExpression,omitempty"` }
Buffering holds the request/response buffering configuration.
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 []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty"`
}
Chain holds a chain of middlewares
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 string `json:"expression,omitempty" toml:"expression,omitempty" yaml:"expression,omitempty"`
}
CircuitBreaker holds the circuit breaker configuration.
func (*CircuitBreaker) DeepCopy ¶
func (in *CircuitBreaker) DeepCopy() *CircuitBreaker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreaker.
func (*CircuitBreaker) DeepCopyInto ¶
func (in *CircuitBreaker) DeepCopyInto(out *CircuitBreaker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientTLS ¶
type ClientTLS struct { CA string `json:"ca,omitempty" toml:"ca,omitempty" yaml:"ca,omitempty"` CAOptional bool `json:"caOptional,omitempty" toml:"caOptional,omitempty" yaml:"caOptional,omitempty"` Cert string `json:"cert,omitempty" toml:"cert,omitempty" yaml:"cert,omitempty"` Key string `json:"key,omitempty" toml:"key,omitempty" yaml:"key,omitempty"` InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty" toml:"insecureSkipVerify,omitempty" yaml:"insecureSkipVerify,omitempty"` }
ClientTLS holds the TLS specific configurations as client CA, Cert and Key can be either path or file contents.
func (*ClientTLS) CreateTLSConfig ¶
CreateTLSConfig creates a TLS config from ClientTLS structures.
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 []string `` /* 127-byte string literal not displayed */
}
Compress holds the compress configuration.
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"` TCP *TCPConfiguration `json:"tcp,omitempty" toml:"tcp,omitempty" yaml:"tcp,omitempty"` UDP *UDPConfiguration `json:"udp,omitempty" toml:"udp,omitempty" yaml:"udp,omitempty"` TLS *TLSConfiguration `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty"` }
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 ¶ added in v2.1.3
type ContentType struct {
AutoDetect bool `json:"autoDetect,omitempty" toml:"autoDetect,omitempty" yaml:"autoDetect,omitempty"`
}
ContentType middleware - or rather its unique `autoDetect` option - 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. This middleware exists to enable the correct behavior until at least the default one can be changed in a future version.
func (*ContentType) DeepCopy ¶ added in v2.1.3
func (in *ContentType) DeepCopy() *ContentType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContentType.
func (*ContentType) DeepCopyInto ¶ added in v2.1.3
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 string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty"` Secure bool `json:"secure,omitempty" toml:"secure,omitempty" yaml:"secure,omitempty"` HTTPOnly bool `json:"httpOnly,omitempty" toml:"httpOnly,omitempty" yaml:"httpOnly,omitempty"` }
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 Users `json:"users,omitempty" toml:"users,omitempty" yaml:"users,omitempty"` UsersFile string `json:"usersFile,omitempty" toml:"usersFile,omitempty" yaml:"usersFile,omitempty"` RemoveHeader bool `json:"removeHeader,omitempty" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty"` Realm string `json:"realm,omitempty" toml:"realm,omitempty" yaml:"realm,omitempty"` HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` }
DigestAuth holds the Digest HTTP authentication configuration.
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 []string `json:"status,omitempty" toml:"status,omitempty" yaml:"status,omitempty"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty"` Query string `json:"query,omitempty" toml:"query,omitempty" yaml:"query,omitempty"` }
ErrorPage holds the custom error page configuration.
func (*ErrorPage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorPage.
func (*ErrorPage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ForwardAuth ¶
type ForwardAuth struct { Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"` TLS *ClientTLS `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty"` TrustForwardHeader bool `json:"trustForwardHeader,omitempty" toml:"trustForwardHeader,omitempty" yaml:"trustForwardHeader,omitempty" export:"true"` AuthResponseHeaders []string `json:"authResponseHeaders,omitempty" toml:"authResponseHeaders,omitempty" yaml:"authResponseHeaders,omitempty"` }
ForwardAuth holds the http forward authentication configuration.
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 HTTPConfiguration ¶
type HTTPConfiguration struct { Routers map[string]*Router `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty"` Services map[string]*Service `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty"` Middlewares map[string]*Middleware `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty"` Models map[string]*Model `json:"models,omitempty" toml:"models,omitempty" yaml:"models,omitempty"` }
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 map[string]string `json:"customRequestHeaders,omitempty" toml:"customRequestHeaders,omitempty" yaml:"customRequestHeaders,omitempty"` CustomResponseHeaders map[string]string `json:"customResponseHeaders,omitempty" toml:"customResponseHeaders,omitempty" yaml:"customResponseHeaders,omitempty"` // AccessControlAllowCredentials is only valid if true. false is ignored. AccessControlAllowCredentials bool `` /* 140-byte string literal not displayed */ // AccessControlAllowHeaders must be used in response to a preflight request with Access-Control-Request-Headers set. AccessControlAllowHeaders []string `` /* 128-byte string literal not displayed */ // AccessControlAllowMethods must be used in response to a preflight request with Access-Control-Request-Method set. AccessControlAllowMethods []string `` /* 128-byte string literal not displayed */ // AccessControlAllowOrigin Can be "origin-list-or-null" or "*". From (https://www.w3.org/TR/cors/#access-control-allow-origin-response-header) AccessControlAllowOrigin string `json:"accessControlAllowOrigin,omitempty" toml:"accessControlAllowOrigin,omitempty" yaml:"accessControlAllowOrigin,omitempty"` // Deprecated // AccessControlAllowOriginList is a list of allowable origins. Can also be a wildcard origin "*". AccessControlAllowOriginList []string `` /* 137-byte string literal not displayed */ // AccessControlExposeHeaders sets valid headers for the response. AccessControlExposeHeaders []string `` /* 131-byte string literal not displayed */ // AccessControlMaxAge sets the time that a preflight request may be cached. AccessControlMaxAge int64 `json:"accessControlMaxAge,omitempty" toml:"accessControlMaxAge,omitempty" yaml:"accessControlMaxAge,omitempty"` // AddVaryHeader controls if the Vary header is automatically added/updated when the AccessControlAllowOrigin is set. AddVaryHeader bool `json:"addVaryHeader,omitempty" toml:"addVaryHeader,omitempty" yaml:"addVaryHeader,omitempty"` AllowedHosts []string `json:"allowedHosts,omitempty" toml:"allowedHosts,omitempty" yaml:"allowedHosts,omitempty"` HostsProxyHeaders []string `json:"hostsProxyHeaders,omitempty" toml:"hostsProxyHeaders,omitempty" yaml:"hostsProxyHeaders,omitempty"` SSLRedirect bool `json:"sslRedirect,omitempty" toml:"sslRedirect,omitempty" yaml:"sslRedirect,omitempty"` SSLTemporaryRedirect bool `json:"sslTemporaryRedirect,omitempty" toml:"sslTemporaryRedirect,omitempty" yaml:"sslTemporaryRedirect,omitempty"` SSLHost string `json:"sslHost,omitempty" toml:"sslHost,omitempty" yaml:"sslHost,omitempty"` SSLProxyHeaders map[string]string `json:"sslProxyHeaders,omitempty" toml:"sslProxyHeaders,omitempty" yaml:"sslProxyHeaders,omitempty"` SSLForceHost bool `json:"sslForceHost,omitempty" toml:"sslForceHost,omitempty" yaml:"sslForceHost,omitempty"` STSSeconds int64 `json:"stsSeconds,omitempty" toml:"stsSeconds,omitempty" yaml:"stsSeconds,omitempty"` STSIncludeSubdomains bool `json:"stsIncludeSubdomains,omitempty" toml:"stsIncludeSubdomains,omitempty" yaml:"stsIncludeSubdomains,omitempty"` STSPreload bool `json:"stsPreload,omitempty" toml:"stsPreload,omitempty" yaml:"stsPreload,omitempty"` ForceSTSHeader bool `json:"forceSTSHeader,omitempty" toml:"forceSTSHeader,omitempty" yaml:"forceSTSHeader,omitempty"` FrameDeny bool `json:"frameDeny,omitempty" toml:"frameDeny,omitempty" yaml:"frameDeny,omitempty"` CustomFrameOptionsValue string `json:"customFrameOptionsValue,omitempty" toml:"customFrameOptionsValue,omitempty" yaml:"customFrameOptionsValue,omitempty"` ContentTypeNosniff bool `json:"contentTypeNosniff,omitempty" toml:"contentTypeNosniff,omitempty" yaml:"contentTypeNosniff,omitempty"` BrowserXSSFilter bool `json:"browserXssFilter,omitempty" toml:"browserXssFilter,omitempty" yaml:"browserXssFilter,omitempty"` CustomBrowserXSSValue string `json:"customBrowserXSSValue,omitempty" toml:"customBrowserXSSValue,omitempty" yaml:"customBrowserXSSValue,omitempty"` ContentSecurityPolicy string `json:"contentSecurityPolicy,omitempty" toml:"contentSecurityPolicy,omitempty" yaml:"contentSecurityPolicy,omitempty"` PublicKey string `json:"publicKey,omitempty" toml:"publicKey,omitempty" yaml:"publicKey,omitempty"` ReferrerPolicy string `json:"referrerPolicy,omitempty" toml:"referrerPolicy,omitempty" yaml:"referrerPolicy,omitempty"` FeaturePolicy string `json:"featurePolicy,omitempty" toml:"featurePolicy,omitempty" yaml:"featurePolicy,omitempty"` IsDevelopment bool `json:"isDevelopment,omitempty" toml:"isDevelopment,omitempty" yaml:"isDevelopment,omitempty"` }
Headers holds the custom header configuration.
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 { Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty"` Path string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty"` Port int `json:"port,omitempty" toml:"port,omitempty,omitzero" yaml:"port,omitempty"` // FIXME change string to types.Duration Interval string `json:"interval,omitempty" toml:"interval,omitempty" yaml:"interval,omitempty"` // FIXME change string to types.Duration Timeout string `json:"timeout,omitempty" toml:"timeout,omitempty" yaml:"timeout,omitempty"` Hostname string `json:"hostname,omitempty" toml:"hostname,omitempty" yaml:"hostname,omitempty"` FollowRedirects *bool `json:"followRedirects" toml:"followRedirects" yaml:"followRedirects"` Headers map[string]string `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty"` }
HealthCheck holds the HealthCheck configuration.
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.
func (*HealthCheck) SetDefaults ¶ added in v2.2.0
func (h *HealthCheck) SetDefaults()
SetDefaults Default values for a HealthCheck.
type IPStrategy ¶
type IPStrategy struct { Depth int `json:"depth,omitempty" toml:"depth,omitempty" yaml:"depth,omitempty" export:"true"` ExcludedIPs []string `json:"excludedIPs,omitempty" toml:"excludedIPs,omitempty" yaml:"excludedIPs,omitempty"` }
IPStrategy holds the ip strategy configuration.
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 []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"` IPStrategy *IPStrategy `json:"ipStrategy,omitempty" toml:"ipStrategy,omitempty" yaml:"ipStrategy,omitempty" label:"allowEmpty"` }
IPWhiteList holds the ip white list configuration.
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 int64 `json:"amount,omitempty" toml:"amount,omitempty" yaml:"amount,omitempty"` SourceCriterion *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty"` }
InFlightReq limits the number of requests being processed and served concurrently.
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.
func (*InFlightReq) SetDefaults ¶
func (i *InFlightReq) SetDefaults()
SetDefaults Default values for a InFlightReq.
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"` StripPrefix *StripPrefix `json:"stripPrefix,omitempty" toml:"stripPrefix,omitempty" yaml:"stripPrefix,omitempty"` StripPrefixRegex *StripPrefixRegex `json:"stripPrefixRegex,omitempty" toml:"stripPrefixRegex,omitempty" yaml:"stripPrefixRegex,omitempty"` ReplacePath *ReplacePath `json:"replacePath,omitempty" toml:"replacePath,omitempty" yaml:"replacePath,omitempty"` ReplacePathRegex *ReplacePathRegex `json:"replacePathRegex,omitempty" toml:"replacePathRegex,omitempty" yaml:"replacePathRegex,omitempty"` Chain *Chain `json:"chain,omitempty" toml:"chain,omitempty" yaml:"chain,omitempty"` IPWhiteList *IPWhiteList `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,omitempty"` Headers *Headers `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty"` Errors *ErrorPage `json:"errors,omitempty" toml:"errors,omitempty" yaml:"errors,omitempty"` RateLimit *RateLimit `json:"rateLimit,omitempty" toml:"rateLimit,omitempty" yaml:"rateLimit,omitempty"` RedirectRegex *RedirectRegex `json:"redirectRegex,omitempty" toml:"redirectRegex,omitempty" yaml:"redirectRegex,omitempty"` RedirectScheme *RedirectScheme `json:"redirectScheme,omitempty" toml:"redirectScheme,omitempty" yaml:"redirectScheme,omitempty"` BasicAuth *BasicAuth `json:"basicAuth,omitempty" toml:"basicAuth,omitempty" yaml:"basicAuth,omitempty"` DigestAuth *DigestAuth `json:"digestAuth,omitempty" toml:"digestAuth,omitempty" yaml:"digestAuth,omitempty"` ForwardAuth *ForwardAuth `json:"forwardAuth,omitempty" toml:"forwardAuth,omitempty" yaml:"forwardAuth,omitempty"` InFlightReq *InFlightReq `json:"inFlightReq,omitempty" toml:"inFlightReq,omitempty" yaml:"inFlightReq,omitempty"` Buffering *Buffering `json:"buffering,omitempty" toml:"buffering,omitempty" yaml:"buffering,omitempty"` CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty" toml:"circuitBreaker,omitempty" yaml:"circuitBreaker,omitempty"` Compress *Compress `json:"compress,omitempty" toml:"compress,omitempty" yaml:"compress,omitempty" label:"allowEmpty"` PassTLSClientCert *PassTLSClientCert `json:"passTLSClientCert,omitempty" toml:"passTLSClientCert,omitempty" yaml:"passTLSClientCert,omitempty"` Retry *Retry `json:"retry,omitempty" toml:"retry,omitempty" yaml:"retry,omitempty"` ContentType *ContentType `json:"contentType,omitempty" toml:"contentType,omitempty" yaml:"contentType,omitempty"` }
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"` Percent int `json:"percent,omitempty" toml:"percent,omitempty" yaml:"percent,omitempty"` }
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"` MaxBodySize *int64 `json:"maxBodySize,omitempty" toml:"maxBodySize,omitempty" yaml:"maxBodySize,omitempty"` Mirrors []MirrorService `json:"mirrors,omitempty" toml:"mirrors,omitempty" yaml:"mirrors,omitempty"` }
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 ¶ added in v2.2.0
func (m *Mirroring) SetDefaults()
SetDefaults Default values for a WRRService.
type Model ¶ added in v2.2.0
type Model struct { Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty"` TLS *RouterTLSConfig `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" label:"allowEmpty"` }
Model is a set of default router's values.
func (*Model) DeepCopy ¶ added in v2.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Model.
func (*Model) DeepCopyInto ¶ added in v2.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PassTLSClientCert ¶
type PassTLSClientCert struct { PEM bool `json:"pem,omitempty" toml:"pem,omitempty" yaml:"pem,omitempty"` Info *TLSClientCertificateInfo `json:"info,omitempty" toml:"info,omitempty" yaml:"info,omitempty"` }
PassTLSClientCert holds the TLS client cert headers configuration.
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 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"` // Period, in combination with Average, defines the actual maximum rate, such as: // r = Average / Period. It defaults to a second. Period types.Duration // 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"` SourceCriterion *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty"` }
RateLimit holds the rate limiting configuration for a given router.
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 string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty"` Replacement string `json:"replacement,omitempty" toml:"replacement,omitempty" yaml:"replacement,omitempty"` Permanent bool `json:"permanent,omitempty" toml:"permanent,omitempty" yaml:"permanent,omitempty"` }
RedirectRegex holds the redirection configuration.
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 string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty"` Port string `json:"port,omitempty" toml:"port,omitempty" yaml:"port,omitempty"` Permanent bool `json:"permanent,omitempty" toml:"permanent,omitempty" yaml:"permanent,omitempty"` }
RedirectScheme holds the scheme redirection configuration.
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 string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty"`
}
ReplacePath holds the ReplacePath configuration.
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 string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty"` Replacement string `json:"replacement,omitempty" toml:"replacement,omitempty" yaml:"replacement,omitempty"` }
ReplacePathRegex holds the ReplacePathRegex configuration.
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 string `json:"flushInterval,omitempty" toml:"flushInterval,omitempty" yaml:"flushInterval,omitempty"`
}
ResponseForwarding holds configuration for the forward of the response.
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 int `json:"attempts,omitempty" toml:"attempts,omitempty" yaml:"attempts,omitempty" export:"true"`
}
Retry holds the retry configuration.
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"` Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty"` Rule string `json:"rule,omitempty" toml:"rule,omitempty" yaml:"rule,omitempty"` Priority int `json:"priority,omitempty" toml:"priority,omitempty,omitzero" yaml:"priority,omitempty"` TLS *RouterTLSConfig `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" label:"allowEmpty"` }
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"` Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty"` CertResolver string `json:"certResolver,omitempty" toml:"certResolver,omitempty" yaml:"certResolver,omitempty"` Domains []types.Domain `json:"domains,omitempty" toml:"domains,omitempty" yaml:"domains,omitempty"` }
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"` CertResolver string `json:"certResolver,omitempty" toml:"certResolver,omitempty" yaml:"certResolver,omitempty"` Domains []types.Domain `json:"domains,omitempty" toml:"domains,omitempty" yaml:"domains,omitempty"` }
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:"-"` Port string `toml:"-" json:"-" yaml:"-"` }
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 ServersLoadBalancer ¶
type ServersLoadBalancer struct { Sticky *Sticky `json:"sticky,omitempty" toml:"sticky,omitempty" yaml:"sticky,omitempty" label:"allowEmpty"` Servers []Server `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server"` HealthCheck *HealthCheck `json:"healthCheck,omitempty" toml:"healthCheck,omitempty" yaml:"healthCheck,omitempty"` PassHostHeader *bool `json:"passHostHeader" toml:"passHostHeader" yaml:"passHostHeader"` ResponseForwarding *ResponseForwarding `json:"responseForwarding,omitempty" toml:"responseForwarding,omitempty" yaml:"responseForwarding,omitempty"` }
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 Service ¶
type Service struct { LoadBalancer *ServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"` Weighted *WeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-"` Mirroring *Mirroring `json:"mirroring,omitempty" toml:"mirroring,omitempty" yaml:"mirroring,omitempty" label:"-"` }
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" toml:"ipStrategy, omitempty"` RequestHeaderName string `json:"requestHeaderName,omitempty" toml:"requestHeaderName,omitempty" yaml:"requestHeaderName,omitempty"` RequestHost bool `json:"requestHost,omitempty" toml:"requestHost,omitempty" yaml:"requestHost,omitempty"` }
SourceCriterion defines what criterion is used to group requests as originating from a common source. The precedence order is IPStrategy, then RequestHeaderName. If none are set, the default is to use the request's remote address field.
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 *Cookie `json:"cookie,omitempty" toml:"cookie,omitempty" yaml:"cookie,omitempty"`
}
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 []string `json:"prefixes,omitempty" toml:"prefixes,omitempty" yaml:"prefixes,omitempty"` ForceSlash bool `json:"forceSlash,omitempty" toml:"forceSlash,omitempty" yaml:"forceSlash,omitempty"` // Deprecated }
StripPrefix holds the StripPrefix configuration.
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 ¶ added in v2.0.5
func (s *StripPrefix) SetDefaults()
SetDefaults Default values for a StripPrefix.
type StripPrefixRegex ¶
type StripPrefixRegex struct {
Regex []string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty"`
}
StripPrefixRegex holds the StripPrefixRegex configuration.
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"` Services map[string]*TCPService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty"` }
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 TCPRouter ¶
type TCPRouter struct { EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty"` Rule string `json:"rule,omitempty" toml:"rule,omitempty" yaml:"rule,omitempty"` TLS *RouterTCPTLSConfig `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" label:"allowEmpty"` }
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 `toml:"-" json:"-" yaml:"-"` }
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 { // 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"` Servers []TCPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server"` }
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.
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"` Weighted *TCPWeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-"` }
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"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty"` }
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"`
}
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 TLSCLientCertificateDNInfo ¶
type TLSCLientCertificateDNInfo struct { Country bool `json:"country,omitempty" toml:"country,omitempty" yaml:"country,omitempty"` Province bool `json:"province,omitempty" toml:"province,omitempty" yaml:"province,omitempty"` Locality bool `json:"locality,omitempty" toml:"locality,omitempty" yaml:"locality,omitempty"` Organization bool `json:"organization,omitempty" toml:"organization,omitempty" yaml:"organization,omitempty"` CommonName bool `json:"commonName,omitempty" toml:"commonName,omitempty" yaml:"commonName,omitempty"` SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty"` DomainComponent bool `json:"domainComponent,omitempty" toml:"domainComponent,omitempty" yaml:"domainComponent,omitempty"` }
TLSCLientCertificateDNInfo holds the client TLS certificate distinguished name info configuration cf https://tools.ietf.org/html/rfc3739
func (*TLSCLientCertificateDNInfo) DeepCopy ¶
func (in *TLSCLientCertificateDNInfo) DeepCopy() *TLSCLientCertificateDNInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCLientCertificateDNInfo.
func (*TLSCLientCertificateDNInfo) DeepCopyInto ¶
func (in *TLSCLientCertificateDNInfo) DeepCopyInto(out *TLSCLientCertificateDNInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateInfo ¶
type TLSClientCertificateInfo struct { NotAfter bool `json:"notAfter,omitempty" toml:"notAfter,omitempty" yaml:"notAfter,omitempty"` NotBefore bool `json:"notBefore,omitempty" toml:"notBefore,omitempty" yaml:"notBefore,omitempty"` Sans bool `json:"sans,omitempty" toml:"sans,omitempty" yaml:"sans,omitempty"` Subject *TLSCLientCertificateDNInfo `json:"subject,omitempty" toml:"subject,omitempty" yaml:"subject,omitempty"` Issuer *TLSCLientCertificateDNInfo `json:"issuer,omitempty" toml:"issuer,omitempty" yaml:"issuer,omitempty"` SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty"` }
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 TLSConfiguration ¶
type TLSConfiguration struct { Certificates []*tls.CertAndStores `json:"certificates,omitempty" toml:"certificates,omitempty" yaml:"certificates,omitempty" label:"-"` Options map[string]tls.Options `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty"` Stores map[string]tls.Store `json:"stores,omitempty" toml:"stores,omitempty" yaml:"stores,omitempty"` }
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 ¶ added in v2.2.0
type UDPConfiguration struct { Routers map[string]*UDPRouter `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty"` Services map[string]*UDPService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty"` }
UDPConfiguration contains all the UDP configuration parameters.
func (*UDPConfiguration) DeepCopy ¶ added in v2.2.0
func (in *UDPConfiguration) DeepCopy() *UDPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPConfiguration.
func (*UDPConfiguration) DeepCopyInto ¶ added in v2.2.0
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 ¶ added in v2.2.0
type UDPRouter struct { EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty"` Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty"` }
UDPRouter defines the configuration for an UDP router.
func (*UDPRouter) DeepCopy ¶ added in v2.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouter.
func (*UDPRouter) DeepCopyInto ¶ added in v2.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPServer ¶ added in v2.2.0
type UDPServer struct { Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty" label:"-"` Port string `toml:"-" json:"-" yaml:"-"` }
UDPServer defines a UDP server configuration.
func (*UDPServer) DeepCopy ¶ added in v2.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPServer.
func (*UDPServer) DeepCopyInto ¶ added in v2.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPServersLoadBalancer ¶ added in v2.2.0
type UDPServersLoadBalancer struct {
Servers []UDPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server"`
}
UDPServersLoadBalancer defines the configuration for a load-balancer of UDP servers.
func (*UDPServersLoadBalancer) DeepCopy ¶ added in v2.2.0
func (in *UDPServersLoadBalancer) DeepCopy() *UDPServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPServersLoadBalancer.
func (*UDPServersLoadBalancer) DeepCopyInto ¶ added in v2.2.0
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 ¶ added in v2.2.0
func (l *UDPServersLoadBalancer) Mergeable(loadBalancer *UDPServersLoadBalancer) bool
Mergeable reports whether the given load-balancer can be merged with the receiver.
type UDPService ¶ added in v2.2.0
type UDPService struct { LoadBalancer *UDPServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"` Weighted *UDPWeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-"` }
UDPService defines the configuration for a UDP service. All fields are mutually exclusive.
func (*UDPService) DeepCopy ¶ added in v2.2.0
func (in *UDPService) DeepCopy() *UDPService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPService.
func (*UDPService) DeepCopyInto ¶ added in v2.2.0
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 ¶ added in v2.2.0
type UDPWRRService struct { Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty"` }
UDPWRRService is a reference to a UDP service load-balanced with weighted round robin.
func (*UDPWRRService) DeepCopy ¶ added in v2.2.0
func (in *UDPWRRService) DeepCopy() *UDPWRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPWRRService.
func (*UDPWRRService) DeepCopyInto ¶ added in v2.2.0
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 ¶ added in v2.2.0
func (w *UDPWRRService) SetDefaults()
SetDefaults sets the default values for a UDPWRRService.
type UDPWeightedRoundRobin ¶ added in v2.2.0
type UDPWeightedRoundRobin struct {
Services []UDPWRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty"`
}
UDPWeightedRoundRobin is a weighted round robin UDP load-balancer of services.
func (*UDPWeightedRoundRobin) DeepCopy ¶ added in v2.2.0
func (in *UDPWeightedRoundRobin) DeepCopy() *UDPWeightedRoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPWeightedRoundRobin.
func (*UDPWeightedRoundRobin) DeepCopyInto ¶ added in v2.2.0
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 ¶
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"` Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty"` }
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"` Sticky *Sticky `json:"sticky,omitempty" toml:"sticky,omitempty" yaml:"sticky,omitempty"` }
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.