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 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"`
}
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" export:"true"` Digest *DigestAuth `json:"digest,omitempty" export:"true"` Forward *ForwardAuth `json:"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"` UsersFile string `json:"usersFile,omitempty"` Realm string `json:"realm,omitempty"` RemoveHeader bool `json:"removeHeader,omitempty"` HeaderField string `json:"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"` MemRequestBodyBytes int64 `json:"memRequestBodyBytes,omitempty"` MaxResponseBodyBytes int64 `json:"maxResponseBodyBytes,omitempty"` MemResponseBodyBytes int64 `json:"memResponseBodyBytes,omitempty"` RetryExpression string `json:"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"`
}
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"`
}
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 `description:"TLS CA" json:"ca,omitempty"` CAOptional bool `description:"TLS CA.Optional" json:"caOptional,omitempty"` Cert string `description:"TLS cert" json:"cert,omitempty"` Key string `description:"TLS key" json:"key,omitempty"` InsecureSkipVerify bool `description:"TLS insecure skip verify" json:"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 TCP *TCPConfiguration TLS []*traefiktls.Configuration `json:"-" label:"-"` TLSOptions map[string]traefiktls.TLS TLSStores map[string]traefiktls.Store }
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"` UsersFile string `json:"usersFile,omitempty"` RemoveHeader bool `json:"removeHeader,omitempty"` Realm string `json:"realm,omitempty" mapstructure:","` HeaderField string `json:"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"` Service string `json:"service,omitempty"` Query string `json:"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 `description:"Authentication server address" json:"address,omitempty"` TLS *ClientTLS `description:"Enable TLS support" json:"tls,omitempty" export:"true"` TrustForwardHeader bool `description:"Trust X-Forwarded-* headers" json:"trustForwardHeader,omitempty" export:"true"` AuthResponseHeaders []string `description:"Headers to be forwarded from auth response" json:"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:",omitempty"` Middlewares map[string]*Middleware `json:"middlewares,omitempty" toml:",omitempty"` Services map[string]*Service `json:"services,omitempty" toml:",omitempty"` }
HTTPConfiguration FIXME better name?
type Headers ¶
type Headers struct { CustomRequestHeaders map[string]string `json:"customRequestHeaders,omitempty"` CustomResponseHeaders map[string]string `json:"customResponseHeaders,omitempty"` // AccessControlAllowCredentials is only valid if true. false is ignored. AccessControlAllowCredentials bool `json:"AccessControlAllowCredentials,omitempty"` // AccessControlAllowHeaders must be used in response to a preflight request with Access-Control-Request-Headers set. AccessControlAllowHeaders []string `json:"AccessControlAllowHeaders,omitempty"` // AccessControlAllowMethods must be used in response to a preflight request with Access-Control-Request-Method set. AccessControlAllowMethods []string `json:"AccessControlAllowMethods,omitempty"` // 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"` // AccessControlExposeHeaders sets valid headers for the response. AccessControlExposeHeaders []string `json:"AccessControlExposeHeaders,omitempty"` // AccessControlMaxAge sets the time that a preflight request may be cached. AccessControlMaxAge int64 `json:"AccessControlMaxAge,omitempty"` // AddVaryHeader controls if the Vary header is automatically added/updated when the AccessControlAllowOrigin is set. AddVaryHeader bool `json:"AddVaryHeader,omitempty"` AllowedHosts []string `json:"allowedHosts,omitempty"` HostsProxyHeaders []string `json:"hostsProxyHeaders,omitempty"` SSLRedirect bool `json:"sslRedirect,omitempty"` SSLTemporaryRedirect bool `json:"sslTemporaryRedirect,omitempty"` SSLHost string `json:"sslHost,omitempty"` SSLProxyHeaders map[string]string `json:"sslProxyHeaders,omitempty"` SSLForceHost bool `json:"sslForceHost,omitempty"` STSSeconds int64 `json:"stsSeconds,omitempty"` STSIncludeSubdomains bool `json:"stsIncludeSubdomains,omitempty"` STSPreload bool `json:"stsPreload,omitempty"` ForceSTSHeader bool `json:"forceSTSHeader,omitempty"` FrameDeny bool `json:"frameDeny,omitempty"` CustomFrameOptionsValue string `json:"customFrameOptionsValue,omitempty"` ContentTypeNosniff bool `json:"contentTypeNosniff,omitempty"` BrowserXSSFilter bool `json:"browserXssFilter,omitempty"` CustomBrowserXSSValue string `json:"customBrowserXSSValue,omitempty"` ContentSecurityPolicy string `json:"contentSecurityPolicy,omitempty"` PublicKey string `json:"publicKey,omitempty"` ReferrerPolicy string `json:"referrerPolicy,omitempty"` IsDevelopment bool `json:"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:",omitempty"` Path string `json:"path,omitempty" toml:",omitempty"` Port int `json:"port,omitempty" toml:",omitempty,omitzero"` // FIXME change string to types.Duration Interval string `json:"interval,omitempty" toml:",omitempty"` // FIXME change string to types.Duration Timeout string `json:"timeout,omitempty" toml:",omitempty"` Hostname string `json:"hostname,omitempty" toml:",omitempty"` Headers map[string]string `json:"headers,omitempty" toml:",omitempty"` }
HealthCheck holds the HealthCheck configuration.
type IPStrategy ¶
type IPStrategy struct { Depth int `json:"depth,omitempty" export:"true"` ExcludedIPs []string `json:"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"` IPStrategy *IPStrategy `json:"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:",omitempty" label:"allowEmpty"` Servers []Server `json:"servers,omitempty" toml:",omitempty" label-slice-as-struct:"server"` HealthCheck *HealthCheck `json:"healthCheck,omitempty" toml:",omitempty"` PassHostHeader bool `json:"passHostHeader" toml:",omitempty"` ResponseForwarding *ResponseForwarding `json:"forwardingResponse,omitempty" toml:",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"` ExtractorFunc string `json:"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"` StripPrefix *StripPrefix `json:"stripPrefix,omitempty"` StripPrefixRegex *StripPrefixRegex `json:"stripPrefixRegex,omitempty"` ReplacePath *ReplacePath `json:"replacePath,omitempty"` ReplacePathRegex *ReplacePathRegex `json:"replacePathRegex,omitempty"` Chain *Chain `json:"chain,omitempty"` IPWhiteList *IPWhiteList `json:"ipWhiteList,omitempty"` Headers *Headers `json:"headers,omitempty"` Errors *ErrorPage `json:"errors,omitempty"` RateLimit *RateLimit `json:"rateLimit,omitempty"` RedirectRegex *RedirectRegex `json:"redirectRegex,omitempty"` RedirectScheme *RedirectScheme `json:"redirectScheme,omitempty"` BasicAuth *BasicAuth `json:"basicAuth,omitempty"` DigestAuth *DigestAuth `json:"digestAuth,omitempty"` ForwardAuth *ForwardAuth `json:"forwardAuth,omitempty"` MaxConn *MaxConn `json:"maxConn,omitempty"` Buffering *Buffering `json:"buffering,omitempty"` CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty"` Compress *Compress `json:"compress,omitempty" label:"allowEmpty"` PassTLSClientCert *PassTLSClientCert `json:"passTLSClientCert,omitempty"` Retry *Retry `json:"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 `description:"Enable header with escaped client pem" json:"pem"` Info *TLSClientCertificateInfo `description:"Enable header with configured client cert info" json:"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"` Average int64 `json:"average,omitempty"` Burst int64 `json:"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"` // FIXME replace by ipStrategy see oxy and replace ExtractorFunc string `json:"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"` Replacement string `json:"replacement,omitempty"` Permanent bool `json:"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"` Port string `json:"port,omitempty"` Permanent bool `json:"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"`
}
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"` Replacement string `json:"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:",omitempty"`
}
ResponseForwarding holds configuration for the forward of the response.
type Retry ¶
type Retry struct {
Attempts int `description:"Number of attempts" 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"` Middlewares []string `json:"middlewares,omitempty" toml:",omitempty"` Service string `json:"service,omitempty" toml:",omitempty"` Rule string `json:"rule,omitempty" toml:",omitempty"` Priority int `json:"priority,omitempty" toml:"priority,omitzero"` TLS *RouterTLSConfig `json:"tls,omitempty" toml:"tls,omitzero" 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,omitzero"` Options string `json:"options,omitempty" toml:"options,omitzero"` }
RouterTCPTLSConfig holds the TLS configuration for a router
type RouterTLSConfig ¶
type RouterTLSConfig struct {
Options string `json:"options,omitempty" toml:"options,omitzero"`
}
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" label:"-"` Scheme string `toml:"-" json:"-"` Port string `toml:"-" json:"-"` }
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:",omitempty,omitzero"`
}
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:",omitempty"` SecureCookie bool `json:"secureCookie,omitempty" toml:",omitempty"` HTTPOnlyCookie bool `json:"httpOnlyCookie,omitempty" toml:",omitempty"` }
Stickiness holds the stickiness configuration.
type StripPrefix ¶
type StripPrefix struct {
Prefixes []string `json:"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"`
}
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:",omitempty"` Services map[string]*TCPService `json:"services,omitempty" toml:",omitempty"` }
TCPConfiguration FIXME better name?
type TCPLoadBalancerService ¶
type TCPLoadBalancerService struct {
Servers []TCPServer `json:"servers,omitempty" toml:",omitempty" label-slice-as-struct:"server"`
}
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"` Service string `json:"service,omitempty" toml:",omitempty"` Rule string `json:"rule,omitempty" toml:",omitempty"` TLS *RouterTCPTLSConfig `json:"tls,omitempty" toml:"tls,omitzero" 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 TCPService ¶
type TCPService struct {
LoadBalancer *TCPLoadBalancerService `json:"loadbalancer,omitempty" toml:",omitempty,omitzero"`
}
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 `description:"Add Country info in header" json:"country"` Province bool `description:"Add Province info in header" json:"province"` Locality bool `description:"Add Locality info in header" json:"locality"` Organization bool `description:"Add Organization info in header" json:"organization"` CommonName bool `description:"Add CommonName info in header" json:"commonName"` SerialNumber bool `description:"Add SerialNumber info in header" json:"serialNumber"` DomainComponent bool `description:"Add Domain Component info in header" json:"domainComponent"` }
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 `description:"Add NotAfter info in header" json:"notAfter"` NotBefore bool `description:"Add NotBefore info in header" json:"notBefore"` Sans bool `description:"Add Sans info in header" json:"sans"` Subject *TLSCLientCertificateDNInfo `description:"Add Subject info in header" json:"subject,omitempty"` Issuer *TLSCLientCertificateDNInfo `description:"Add Issuer info in header" json:"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 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. |