Documentation ¶
Index ¶
Constants ¶
const DefaultHealthCheckInterval = 30 * time.Second
DefaultHealthCheckInterval is the default health check interval.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Certificate ¶
Certificate holds a SSL cert/key pair Certs and Key could be either a file path, or the file content itself
type Certificates ¶
type Certificates []Certificate
Certificates defines traefik certificates type Certs and Keys could be either a file path, or the file content itself
func (*Certificates) CreateTLSConfig ¶
func (certs *Certificates) CreateTLSConfig() (*tls.Config, error)
CreateTLSConfig creates a TLS config from Certificate structures
func (*Certificates) Set ¶
func (certs *Certificates) Set(value string) error
Set is the method to set the flag value, part of the flag.Value interface. Set's argument is a string to be parsed to set the flag. It's a comma-separated list, so we split it.
func (*Certificates) String ¶
func (certs *Certificates) String() string
String is the method to format the flag's value, part of the flag.Value interface. The String method's output will be used in diagnostics.
type DefaultEntryPoints ¶
type DefaultEntryPoints []string
DefaultEntryPoints holds default entry points
func (*DefaultEntryPoints) Get ¶
func (dep *DefaultEntryPoints) Get() interface{}
Get return the EntryPoints map
func (*DefaultEntryPoints) Set ¶
func (dep *DefaultEntryPoints) Set(value string) error
Set is the method to set the flag value, part of the flag.Value interface. Set's argument is a string to be parsed to set the flag. It's a comma-separated list, so we split it.
func (*DefaultEntryPoints) SetValue ¶
func (dep *DefaultEntryPoints) SetValue(val interface{})
SetValue sets the EntryPoints map with val
func (*DefaultEntryPoints) String ¶
func (dep *DefaultEntryPoints) String() string
String is the method to format the flag's value, part of the flag.Value interface. The String method's output will be used in diagnostics.
func (*DefaultEntryPoints) Type ¶
func (dep *DefaultEntryPoints) Type() string
Type is type of the struct
type EntryPoint ¶
type EntryPoint struct { Network string Address string TLS *TLS Redirect *Redirect Auth *types.Auth Compress bool }
EntryPoint holds an entry point configuration of the reverse proxy (ip, port, TLS...)
type EntryPoints ¶
type EntryPoints map[string]*EntryPoint
EntryPoints holds entry points configuration of the reverse proxy (ip, port, TLS...)
func (*EntryPoints) Set ¶
func (ep *EntryPoints) Set(value string) error
Set is the method to set the flag value, part of the flag.Value interface. Set's argument is a string to be parsed to set the flag. It's a comma-separated list, so we split it.
func (*EntryPoints) SetValue ¶
func (ep *EntryPoints) SetValue(val interface{})
SetValue sets the EntryPoints map with val
func (*EntryPoints) String ¶
func (ep *EntryPoints) String() string
String is the method to format the flag's value, part of the flag.Value interface. The String method's output will be used in diagnostics.
type GlobalConfiguration ¶
type GlobalConfiguration struct { GraceTimeOut flaeg.Duration `short:"g" description:"Duration to give active requests a chance to finish during hot-reload"` Debug bool `short:"d" description:"Enable debug mode"` CheckNewVersion bool `description:"Periodically check if a new version has been released"` AccessLogsFile string `description:"Access logs file"` TraefikLogsFile string `description:"Traefik logs file"` LogLevel string `short:"l" description:"Log level"` EntryPoints EntryPoints `` /* 231-byte string literal not displayed */ Cluster *types.Cluster `description:"Enable clustering"` Constraints types.Constraints `description:"Filter services by constraint, matching with service tags"` ACME *acme.ACME `description:"Enable ACME (Let's Encrypt): automatic SSL"` DefaultEntryPoints DefaultEntryPoints `description:"Entrypoints to be used by frontends that do not specify any entrypoint"` ProvidersThrottleDuration flaeg.Duration `` /* 213-byte string literal not displayed */ MaxIdleConnsPerHost int `` /* 128-byte string literal not displayed */ IdleTimeout flaeg.Duration `description:"maximum amount of time an idle (keep-alive) connection will remain idle before closing itself."` InsecureSkipVerify bool `description:"Disable SSL certificate verification"` Retry *Retry `description:"Enable retry sending request if network error"` HealthCheck *HealthCheckConfig `description:"Health check parameters"` Docker *docker.Provider `description:"Enable Docker backend"` File *file.Provider `description:"Enable File backend"` Web *WebProvider `description:"Enable Web backend"` Marathon *marathon.Provider `description:"Enable Marathon backend"` Consul *consul.Provider `description:"Enable Consul backend"` ConsulCatalog *consul.CatalogProvider `description:"Enable Consul catalog backend"` Etcd *etcd.Provider `description:"Enable Etcd backend"` Zookeeper *zk.Provider `description:"Enable Zookeeper backend"` Boltdb *boltdb.Provider `description:"Enable Boltdb backend"` Kubernetes *kubernetes.Provider `description:"Enable Kubernetes backend"` Mesos *mesos.Provider `description:"Enable Mesos backend"` Eureka *eureka.Provider `description:"Enable Eureka backend"` ECS *ecs.Provider `description:"Enable ECS backend"` Rancher *rancher.Provider `description:"Enable Rancher backend"` DynamoDB *dynamodb.Provider `description:"Enable DynamoDB backend"` }
GlobalConfiguration holds global configuration (with providers, etc.). It's populated from the traefik configuration file passed as an argument to the binary.
type HealthCheckConfig ¶
type HealthCheckConfig struct {
Interval flaeg.Duration `description:"Default periodicity of enabled health checks"`
}
HealthCheckConfig contains health check configuration parameters.
type OxyLogger ¶
type OxyLogger struct { }
OxyLogger implements oxy Logger interface with logrus.
type Retry ¶
type Retry struct {
Attempts int `description:"Number of attempts"`
}
Retry contains request retry config
type Rules ¶
type Rules struct {
// contains filtered or unexported fields
}
Rules holds rule parsing and configuration
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the reverse-proxy/load-balancer engine
func NewServer ¶
func NewServer(globalConfiguration GlobalConfiguration) *Server
NewServer returns an initialized Server.
type TLS ¶
type TLS struct { MinVersion string CipherSuites []string Certificates Certificates ClientCAFiles []string }
TLS configures TLS for an entry point
type TraefikConfiguration ¶
type TraefikConfiguration struct { GlobalConfiguration `mapstructure:",squash"` ConfigFile string `short:"c" description:"Configuration file to use (TOML)."` }
TraefikConfiguration holds GlobalConfiguration and other stuff
func NewTraefikConfiguration ¶
func NewTraefikConfiguration() *TraefikConfiguration
NewTraefikConfiguration creates a TraefikConfiguration with default values
func NewTraefikDefaultPointersConfiguration ¶
func NewTraefikDefaultPointersConfiguration() *TraefikConfiguration
NewTraefikDefaultPointersConfiguration creates a TraefikConfiguration with pointers default values
type WebProvider ¶
type WebProvider struct { Address string `description:"Web administration port"` CertFile string `description:"SSL certificate"` KeyFile string `description:"SSL certificate"` ReadOnly bool `description:"Enable read only API"` Statistics *types.Statistics `description:"Enable more detailed statistics"` Metrics *types.Metrics `description:"Enable a metrics exporter"` Path string `description:"Root path for dashboard and API"` Auth *types.Auth // contains filtered or unexported fields }
WebProvider is a provider.Provider implementation that provides the UI. FIXME to be handled another way.
func (*WebProvider) Provide ¶
func (provider *WebProvider) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, _ types.Constraints) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.