Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidLoadBalancerMethod = errors.New("Invalid method, using default")
ErrInvalidLoadBalancerMethod is thrown when the specified load balancing method is invalid.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend struct { Servers map[string]Server `json:"servers,omitempty"` CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty"` LoadBalancer *LoadBalancer `json:"loadBalancer,omitempty"` MaxConn *MaxConn `json:"maxConn,omitempty"` }
Backend holds backend configuration.
type CircuitBreaker ¶
type CircuitBreaker struct {
Expression string `json:"expression,omitempty"`
}
CircuitBreaker holds circuit breaker configuration.
type ConfigMessage ¶
type ConfigMessage struct { ProviderName string Configuration *Configuration }
ConfigMessage hold configuration information exchanged between parts of traefik.
type Configuration ¶
type Configuration struct { Backends map[string]*Backend `json:"backends,omitempty"` Frontends map[string]*Frontend `json:"frontends,omitempty"` }
Configuration of a provider.
type Constraint ¶
type Constraint struct { Key string // MustMatch is true if operator is "==" or false if operator is "!=" MustMatch bool // TODO: support regex Regex string }
Constraint hold a parsed constraint expresssion
func NewConstraint ¶
func NewConstraint(exp string) (*Constraint, error)
NewConstraint receive a string and return a *Constraint, after checking syntax and parsing the constraint expression
func (*Constraint) MatchConstraintWithAtLeastOneTag ¶
func (c *Constraint) MatchConstraintWithAtLeastOneTag(tags []string) bool
MatchConstraintWithAtLeastOneTag tests a constraint for one single service
func (*Constraint) String ¶
func (c *Constraint) String() string
func (*Constraint) UnmarshalText ¶ added in v1.1.0
func (c *Constraint) UnmarshalText(text []byte) error
UnmarshalText define how unmarshal in TOML parsing
type Constraints ¶
type Constraints []Constraint
Constraints holds a Constraint parser
func (*Constraints) SetValue ¶
func (cs *Constraints) SetValue(val interface{})
SetValue sets []*Constraint into the parser
func (*Constraints) String ¶
func (cs *Constraints) String() string
String returns []*Constraint in string
func (*Constraints) Type ¶
func (cs *Constraints) Type() string
Type exports the Constraints type as a string
type Frontend ¶
type Frontend struct { EntryPoints []string `json:"entryPoints,omitempty"` Backend string `json:"backend,omitempty"` Routes map[string]Route `json:"routes,omitempty"` PassHostHeader bool `json:"passHostHeader,omitempty"` Priority int `json:"priority"` }
Frontend holds frontend configuration.
type LoadBalancer ¶
type LoadBalancer struct { Method string `json:"method,omitempty"` Sticky bool `json:"sticky,omitempty"` }
LoadBalancer holds load balancing configuration.
type LoadBalancerMethod ¶
type LoadBalancerMethod uint8
LoadBalancerMethod holds the method of load balancing to use.
const ( // Wrr (default) = Weighted Round Robin Wrr LoadBalancerMethod = iota // Drr = Dynamic Round Robin Drr )
func NewLoadBalancerMethod ¶
func NewLoadBalancerMethod(loadBalancer *LoadBalancer) (LoadBalancerMethod, error)
NewLoadBalancerMethod create a new LoadBalancerMethod from a given LoadBalancer.
type MaxConn ¶
type MaxConn struct { Amount int64 `json:"amount,omitempty"` ExtractorFunc string `json:"extractorFunc,omitempty"` }
MaxConn holds maximum connection configuration
type Route ¶
type Route struct {
Rule string `json:"rule,omitempty"`
}
Route holds route configuration.