Documentation ¶
Index ¶
- type AddPrefix
- type Auth
- type BasicAuth
- type Buffering
- type Chain
- type CircuitBreaker
- type ClientTLS
- type Compress
- type Configuration
- type Configurations
- type DigestAuth
- type ErrorPage
- type ForwardAuth
- type HTTPConfiguration
- type Headers
- type HealthCheck
- type IPStrategy
- type IPWhiteList
- type LoadBalancerService
- type MaxConn
- type Message
- type Middleware
- type MiddlewareInfo
- type PassTLSClientCert
- type Rate
- type RateLimit
- type RedirectRegex
- type RedirectScheme
- type ReplacePath
- type ReplacePathRegex
- type ResponseForwarding
- type Retry
- type Router
- type RouterInfo
- type RouterTCPTLSConfig
- type RouterTLSConfig
- type RuntimeConfiguration
- func (r *RuntimeConfiguration) GetRoutersByEntrypoints(ctx context.Context, entryPoints []string, tls bool) map[string]map[string]*RouterInfo
- func (r *RuntimeConfiguration) GetTCPRoutersByEntrypoints(ctx context.Context, entryPoints []string) map[string]map[string]*TCPRouterInfo
- func (r *RuntimeConfiguration) PopulateUsedBy()
- type Server
- type Service
- type ServiceInfo
- type Stickiness
- type StripPrefix
- type StripPrefixRegex
- type TCPConfiguration
- type TCPLoadBalancerService
- type TCPRouter
- type TCPRouterInfo
- type TCPServer
- type TCPService
- type TCPServiceInfo
- type TLSCLientCertificateDNInfo
- type TLSClientCertificateInfo
- type TLSConfiguration
- type Users
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{}
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"` TLS *TLSConfiguration `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty"` }
Configuration is the root of the dynamic configuration
type Configurations ¶
type Configurations map[string]*Configuration
Configurations is for currentConfigurations Map.
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"` Middlewares map[string]*Middleware `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty"` Services map[string]*Service `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty"` }
HTTPConfiguration contains all the HTTP configuration parameters.
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"` // 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"` 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"` Headers map[string]string `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty"` }
HealthCheck holds the HealthCheck configuration.
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 LoadBalancerService ¶
type LoadBalancerService struct { Stickiness *Stickiness `json:"stickiness,omitempty" toml:"stickiness,omitempty" yaml:"stickiness,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"` }
LoadBalancerService holds the LoadBalancerService configuration.
func (*LoadBalancerService) Mergeable ¶
func (l *LoadBalancerService) Mergeable(loadBalancer *LoadBalancerService) bool
Mergeable tells if the given service is mergeable.
func (*LoadBalancerService) SetDefaults ¶
func (l *LoadBalancerService) SetDefaults()
SetDefaults Default values for a LoadBalancerService.
type MaxConn ¶
type MaxConn struct { Amount int64 `json:"amount,omitempty" toml:"amount,omitempty" yaml:"amount,omitempty"` ExtractorFunc string `json:"extractorFunc,omitempty" toml:"extractorFunc,omitempty" yaml:"extractorFunc,omitempty"` }
MaxConn holds maximum connection configuration.
func (*MaxConn) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxConn.
func (*MaxConn) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MaxConn) SetDefaults ¶
func (m *MaxConn) SetDefaults()
SetDefaults Default values for a MaxConn.
type Message ¶
type Message struct { ProviderName string Configuration *Configuration }
Message holds configuration information exchanged between parts of traefik.
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"` MaxConn *MaxConn `json:"maxConn,omitempty" toml:"maxConn,omitempty" yaml:"maxConn,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"` }
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 MiddlewareInfo ¶
type MiddlewareInfo struct { *Middleware // dynamic configuration Err error `json:"error,omitempty"` // initialization error UsedBy []string `json:"usedBy,omitempty"` // list of routers and services using that middleware }
MiddlewareInfo holds information about a currently running middleware
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 Rate ¶
type Rate struct { Period types.Duration `json:"period,omitempty" toml:"period,omitempty" yaml:"period,omitempty"` Average int64 `json:"average,omitempty" toml:"average,omitempty" yaml:"average,omitempty"` Burst int64 `json:"burst,omitempty" toml:"burst,omitempty" yaml:"burst,omitempty"` }
Rate holds the rate limiting configuration for a specific time period.
func (*Rate) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rate.
func (*Rate) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimit ¶
type RateLimit struct { RateSet map[string]*Rate `json:"rateSet,omitempty" toml:"rateSet,omitempty" yaml:"rateSet,omitempty"` // FIXME replace by ipStrategy see oxy and replace ExtractorFunc string `json:"extractorFunc,omitempty" toml:"extractorFunc,omitempty" yaml:"extractorFunc,omitempty"` }
RateLimit holds the rate limiting configuration for a given frontend.
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 Default values for a MaxConn.
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.
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.
type RouterInfo ¶
type RouterInfo struct { *Router // dynamic configuration Err string `json:"error,omitempty"` // initialization error }
RouterInfo holds information about a currently running HTTP router
type RouterTCPTLSConfig ¶
type RouterTCPTLSConfig struct { Passthrough bool `json:"passthrough" toml:"passthrough" yaml:"passthrough"` Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty"` }
RouterTCPTLSConfig holds the TLS configuration for a router
type RouterTLSConfig ¶
type RouterTLSConfig struct {
Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty"`
}
RouterTLSConfig holds the TLS configuration for a router
type RuntimeConfiguration ¶
type RuntimeConfiguration struct { Routers map[string]*RouterInfo `json:"routers,omitempty"` Middlewares map[string]*MiddlewareInfo `json:"middlewares,omitempty"` Services map[string]*ServiceInfo `json:"services,omitempty"` TCPRouters map[string]*TCPRouterInfo `json:"tcpRouters,omitempty"` TCPServices map[string]*TCPServiceInfo `json:"tcpServices,omitempty"` }
RuntimeConfiguration holds the information about the currently running traefik instance.
func NewRuntimeConfig ¶
func NewRuntimeConfig(conf Configuration) *RuntimeConfiguration
NewRuntimeConfig returns a RuntimeConfiguration initialized with the given conf. It never returns nil.
func (*RuntimeConfiguration) GetRoutersByEntrypoints ¶
func (r *RuntimeConfiguration) GetRoutersByEntrypoints(ctx context.Context, entryPoints []string, tls bool) map[string]map[string]*RouterInfo
GetRoutersByEntrypoints returns all the http routers by entrypoints name and routers name
func (*RuntimeConfiguration) GetTCPRoutersByEntrypoints ¶
func (r *RuntimeConfiguration) GetTCPRoutersByEntrypoints(ctx context.Context, entryPoints []string) map[string]map[string]*TCPRouterInfo
GetTCPRoutersByEntrypoints returns all the tcp routers by entrypoints name and routers name
func (*RuntimeConfiguration) PopulateUsedBy ¶
func (r *RuntimeConfiguration) PopulateUsedBy()
PopulateUsedBy populates all the UsedBy lists of the underlying fields of r, based on the relations between the included services, routers, and middlewares.
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) SetDefaults ¶
func (s *Server) SetDefaults()
SetDefaults Default values for a Server.
type Service ¶
type Service struct {
LoadBalancer *LoadBalancerService `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"`
}
Service holds a service configuration (can only be of one type at the same time).
type ServiceInfo ¶
type ServiceInfo struct { *Service // dynamic configuration Err error `json:"error,omitempty"` // initialization error UsedBy []string `json:"usedBy,omitempty"` // list of routers using that service // contains filtered or unexported fields }
ServiceInfo holds information about a currently running service
func (*ServiceInfo) GetAllStatus ¶
func (s *ServiceInfo) GetAllStatus() map[string]string
GetAllStatus returns all the statuses of all the servers in ServiceInfo. It is the responsibility of the caller to check that s is not nil
func (*ServiceInfo) UpdateStatus ¶
func (s *ServiceInfo) UpdateStatus(server string, status string)
UpdateStatus sets the status of the server in the ServiceInfo. It is the responsibility of the caller to check that s is not nil.
type Stickiness ¶
type Stickiness struct { CookieName string `json:"cookieName,omitempty" toml:"cookieName,omitempty" yaml:"cookieName,omitempty"` SecureCookie bool `json:"secureCookie,omitempty" toml:"secureCookie,omitempty" yaml:"secureCookie,omitempty"` HTTPOnlyCookie bool `json:"httpOnlyCookie,omitempty" toml:"httpOnlyCookie,omitempty" yaml:"httpOnlyCookie,omitempty"` }
Stickiness holds the stickiness configuration.
type StripPrefix ¶
type StripPrefix struct {
Prefixes []string `json:"prefixes,omitempty" toml:"prefixes,omitempty" yaml:"prefixes,omitempty"`
}
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.
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.
type TCPLoadBalancerService ¶
type TCPLoadBalancerService struct {
Servers []TCPServer `` /* 136-byte string literal not displayed */
}
TCPLoadBalancerService holds the LoadBalancerService configuration.
func (*TCPLoadBalancerService) Mergeable ¶
func (l *TCPLoadBalancerService) Mergeable(loadBalancer *TCPLoadBalancerService) bool
Mergeable tells if the given service is mergeable.
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.
type TCPRouterInfo ¶
type TCPRouterInfo struct { *TCPRouter // dynamic configuration Err string `json:"error,omitempty"` // initialization error }
TCPRouterInfo holds information about a currently running TCP router
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
type TCPService ¶
type TCPService struct {
LoadBalancer *TCPLoadBalancerService `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"`
}
TCPService holds a tcp service configuration (can only be of one type at the same time).
type TCPServiceInfo ¶
type TCPServiceInfo struct { *TCPService // dynamic configuration Err error `json:"error,omitempty"` // initialization error UsedBy []string `json:"usedBy,omitempty"` // list of routers using that service }
TCPServiceInfo holds information about a currently running TCP service
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"` }
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 []*traefiktls.CertAndStores `json:"-" toml:"certificates,omitempty" yaml:"certificates,omitempty" label:"-"` Options map[string]traefiktls.Options `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty"` Stores map[string]traefiktls.Store `json:"stores,omitempty" toml:"stores,omitempty" yaml:"stores,omitempty"` }
TLSConfiguration contains all the configuration parameters of a TLS connection.
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.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package env implements encoding and decoding between environment variable and a typed Configuration.
|
Package env implements encoding and decoding between environment variable and a typed Configuration. |
Package file implements decoding between configuration in a file and a typed Configuration.
|
Package file implements decoding between configuration in a file and a typed Configuration. |
Package flag implements encoding and decoding between flag arguments and a typed Configuration.
|
Package flag implements encoding and decoding between flag arguments and a typed Configuration. |
Package generator implements the custom initialization of all the fields of an empty interface.
|
Package generator implements the custom initialization of all the fields of an empty interface. |
Package label implements the decoding and encoding between flat labels and a typed Configuration.
|
Package label implements the decoding and encoding between flat labels and a typed Configuration. |
Package parser implements decoding and encoding between a flat map of labels and a typed Configuration.
|
Package parser implements decoding and encoding between a flat map of labels and a typed Configuration. |