config

package
v2.0.0-alpha2 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 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"`
}

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

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        `json:"users,omitempty" mapstructure:","`
	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

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

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

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

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

func (clientTLS *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
	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        `json:"users,omitempty" mapstructure:","`
	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

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

	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

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) 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:",omitempty"`
	Path   string `json:"path,omitempty" toml:",omitempty"`
	Port   int    `json:"port,omitempty" toml:",omitempty,omitzero"`
	// FIXME change string to parse.Duration
	Interval string `json:"interval,omitempty" toml:",omitempty"`
	// FIXME change string to parse.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.

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"`
	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"`
	Method             string              `json:"method,omitempty" toml:",omitempty"`
	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

func (in *MaxConn) DeepCopy() *MaxConn

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

func (*MaxConn) DeepCopyInto

func (in *MaxConn) DeepCopyInto(out *MaxConn)

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

func (in *Rate) DeepCopy() *Rate

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

func (*Rate) DeepCopyInto

func (in *Rate) DeepCopyInto(out *Rate)

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

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

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

type RouterTCPTLSConfig struct {
	Passthrough bool `json:"passthrough" toml:"passthrough,omitzero"`
}

RouterTCPTLSConfig holds the TLS configuration for a router

type RouterTLSConfig

type RouterTLSConfig struct{}

RouterTLSConfig holds the TLS configuration for a router

type Server

type Server struct {
	URL    string `json:"url" label:"-"`
	Scheme string `toml:"-" json:"-"`
	Port   string `toml:"-" json:"-"`
	Weight int    `json:"weight"`
}

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 Stickiness

type Stickiness struct {
	CookieName string `json:"cookieName,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"`
	Method  string      `json:"method,omitempty" toml:",omitempty"`
}

TCPLoadBalancerService holds the LoadBalancerService configuration.

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 TCPServer

type TCPServer struct {
	Address string `json:"address" label:"-"`
	Weight  int    `json:"weight"`
}

TCPServer holds a TCP Server configuration

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

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

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

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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