dynamic

package
v2.0.0-rc3 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2019 License: MIT Imports: 9 Imported by: 0

Documentation

Index

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

func (in *AddPrefix) DeepCopy() *AddPrefix

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

func (*AddPrefix) DeepCopyInto

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

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

type 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

func (in *Auth) DeepCopy() *Auth

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

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

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

func (in *BasicAuth) DeepCopy() *BasicAuth

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

func (*BasicAuth) DeepCopyInto

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

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

type Buffering

type Buffering struct {
	MaxRequestBodyBytes  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

func (in *Buffering) DeepCopy() *Buffering

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

func (*Buffering) DeepCopyInto

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

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

type Chain

type Chain struct {
	Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty"`
}

Chain holds a chain of middlewares

func (*Chain) DeepCopy

func (in *Chain) DeepCopy() *Chain

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

func (*Chain) DeepCopyInto

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

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

type CircuitBreaker

type CircuitBreaker struct {
	Expression 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

func (c *ClientTLS) CreateTLSConfig() (*tls.Config, error)

CreateTLSConfig creates a TLS config from ClientTLS structures.

func (*ClientTLS) DeepCopy

func (in *ClientTLS) DeepCopy() *ClientTLS

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

func (*ClientTLS) DeepCopyInto

func (in *ClientTLS) DeepCopyInto(out *ClientTLS)

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

func (in *Compress) DeepCopy() *Compress

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

func (*Compress) DeepCopyInto

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

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

type Configuration

type Configuration struct {
	HTTP *HTTPConfiguration `json:"http,omitempty" toml:"http,omitempty" yaml:"http,omitempty"`
	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

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

func (in *Cookie) DeepCopy() *Cookie

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

func (*Cookie) DeepCopyInto

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

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

type DigestAuth

type DigestAuth struct {
	Users        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

func (in *ErrorPage) DeepCopy() *ErrorPage

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

func (*ErrorPage) DeepCopyInto

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

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

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

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

func (in *Headers) DeepCopy() *Headers

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

func (*Headers) DeepCopyInto

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

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

func (*Headers) HasCorsHeadersDefined

func (h *Headers) HasCorsHeadersDefined() bool

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

func (*Headers) HasCustomHeadersDefined

func (h *Headers) HasCustomHeadersDefined() bool

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

func (*Headers) HasSecureHeadersDefined

func (h *Headers) HasSecureHeadersDefined() bool

HasSecureHeadersDefined checks to see if any of the secure header elements have been set

type HealthCheck

type HealthCheck struct {
	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.

func (*HealthCheck) DeepCopy

func (in *HealthCheck) DeepCopy() *HealthCheck

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

func (*HealthCheck) DeepCopyInto

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

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

type IPStrategy

type IPStrategy struct {
	Depth       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.

func (*IPStrategy) Get

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

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

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

func (in *Message) DeepCopy() *Message

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

func (*Message) DeepCopyInto

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

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

type Middleware

type Middleware struct {
	AddPrefix         *AddPrefix         `json:"addPrefix,omitempty" toml:"addPrefix,omitempty" yaml:"addPrefix,omitempty"`
	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"`
}

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"`
	Mirrors []MirrorService `json:"mirrors,omitempty" toml:"mirrors,omitempty" yaml:"mirrors,omitempty"`
}

Mirroring holds the Mirroring configuration.

func (*Mirroring) DeepCopy

func (in *Mirroring) DeepCopy() *Mirroring

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

func (*Mirroring) DeepCopyInto

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

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

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, in requests/s, allowed for the given source.
	// It defaults to 0, which means no rate limiting.
	Average int64 `json:"average,omitempty" toml:"average,omitempty" yaml:"average,omitempty"`
	// 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

func (in *RateLimit) DeepCopy() *RateLimit

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

func (*RateLimit) DeepCopyInto

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

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

func (*RateLimit) SetDefaults

func (r *RateLimit) SetDefaults()

SetDefaults sets the default values on a RateLimit.

type RedirectRegex

type RedirectRegex struct {
	Regex       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

func (in *Retry) DeepCopy() *Retry

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

func (*Retry) DeepCopyInto

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

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

type Router

type Router struct {
	EntryPoints []string         `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty"`
	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

func (in *Router) DeepCopy() *Router

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

func (*Router) DeepCopyInto

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

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

type RouterTCPTLSConfig

type RouterTCPTLSConfig struct {
	Passthrough  bool           `json:"passthrough" toml:"passthrough" yaml:"passthrough"`
	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

func (in *Server) DeepCopy() *Server

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

func (*Server) DeepCopyInto

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

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

func (*Server) SetDefaults

func (s *Server) SetDefaults()

SetDefaults Default values for a Server.

type 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

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

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

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

type SourceCriterion

type SourceCriterion struct {
	IPStrategy        *IPStrategy `json:"ipStrategy" 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

func (in *Sticky) DeepCopy() *Sticky

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

func (*Sticky) DeepCopyInto

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

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

type StripPrefix

type StripPrefix struct {
	Prefixes []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.

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 TCPLoadBalancerService

type TCPLoadBalancerService struct {
	Servers []TCPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server"`
}

TCPLoadBalancerService holds the LoadBalancerService configuration.

func (*TCPLoadBalancerService) DeepCopy

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

func (*TCPLoadBalancerService) DeepCopyInto

func (in *TCPLoadBalancerService) DeepCopyInto(out *TCPLoadBalancerService)

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

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.

func (*TCPRouter) DeepCopy

func (in *TCPRouter) DeepCopy() *TCPRouter

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

func (*TCPRouter) DeepCopyInto

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

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

type TCPServer

type TCPServer struct {
	Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty" label:"-"`
	Port    string `toml:"-" json:"-" yaml:"-"`
}

TCPServer holds a TCP Server configuration

func (*TCPServer) DeepCopy

func (in *TCPServer) DeepCopy() *TCPServer

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

func (*TCPServer) DeepCopyInto

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

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

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

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

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

func (*TLSCLientCertificateDNInfo) DeepCopyInto

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

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 Users

type Users []string

Users holds a list of users

func (Users) DeepCopy

func (in Users) DeepCopy() Users

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

func (Users) DeepCopyInto

func (in Users) DeepCopyInto(out *Users)

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

type WRRService

type WRRService struct {
	Name   string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty"`
	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 ServersLoadBalancer.

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.

Jump to

Keyboard shortcuts

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