Documentation
¶
Overview ¶
Package provider holds the different provider implementation.
Index ¶
Constants ¶
const ( // DefaultWatchWaitTime is the duration to wait when polling consul DefaultWatchWaitTime = 15 * time.Second // DefaultConsulCatalogTagPrefix is a prefix for additional service/node configurations DefaultConsulCatalogTagPrefix = "traefik" )
const DockerAPIVersion string = "1.21"
DockerAPIVersion is a constant holding the version of the Docker API traefik will use
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseProvider ¶
type BaseProvider struct {
Watch bool `description:"Watch provider"`
Filename string `description:"Override default configuration template. For advanced users :)"`
Constraints types.Constraints `description:"Filter services by constraint, matching with Traefik tags."`
}
BaseProvider should be inherited by providers
func (*BaseProvider) MatchConstraints ¶
func (p *BaseProvider) MatchConstraints(tags []string) (bool, *types.Constraint)
MatchConstraints must match with EVERY single contraint returns first constraint that do not match or nil
type BoltDb ¶
type BoltDb struct {
Kv
}
BoltDb holds configurations of the BoltDb provider.
func (*BoltDb) Provide ¶
func (provider *BoltDb) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type Consul ¶
type Consul struct {
Kv
}
Consul holds configurations of the Consul provider.
func (*Consul) Provide ¶
func (provider *Consul) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type ConsulCatalog ¶
type ConsulCatalog struct {
BaseProvider
Endpoint string `description:"Consul server endpoint"`
Domain string `description:"Default domain used"`
Prefix string
// contains filtered or unexported fields
}
ConsulCatalog holds configurations of the Consul catalog provider.
func (*ConsulCatalog) Provide ¶
func (provider *ConsulCatalog) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type Docker ¶
type Docker struct {
BaseProvider
Endpoint string `description:"Docker server endpoint. Can be a tcp or a unix socket endpoint"`
Domain string `description:"Default domain used"`
TLS *DockerTLS `description:"Enable Docker TLS support"`
}
Docker holds configurations of the Docker provider.
func (*Docker) Provide ¶
func (provider *Docker) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type DockerTLS ¶
type DockerTLS struct {
CA string `description:"TLS CA"`
Cert string `description:"TLS cert"`
Key string `description:"TLS key"`
InsecureSkipVerify bool `description:"TLS insecure skip verify"`
}
DockerTLS holds TLS specific configurations
type Etcd ¶
type Etcd struct {
Kv
}
Etcd holds configurations of the Etcd provider.
func (*Etcd) Provide ¶
func (provider *Etcd) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type File ¶
type File struct {
BaseProvider
}
File holds configurations of the File provider.
func (*File) Provide ¶
func (provider *File) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, _ []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type Kubernetes ¶
type Kubernetes struct {
BaseProvider
Endpoint string `description:"Kubernetes server endpoint"`
DisablePassHostHeaders bool `description:"Kubernetes disable PassHost Headers"`
Namespaces Namespaces `description:"Kubernetes namespaces"`
}
Kubernetes holds configurations of the Kubernetes provider.
func (*Kubernetes) Provide ¶
func (provider *Kubernetes) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type Kv ¶
type Kv struct {
BaseProvider
Endpoint string `description:"Comma sepparated server endpoints"`
Prefix string `description:"Prefix used for KV store"`
TLS *KvTLS `description:"Enable TLS support"`
// contains filtered or unexported fields
}
Kv holds common configurations of key-value providers.
type KvTLS ¶
type KvTLS struct {
CA string `description:"TLS CA"`
Cert string `description:"TLS cert"`
Key string `description:"TLS key"`
InsecureSkipVerify bool `description:"TLS insecure skip verify"`
}
KvTLS holds TLS specific configurations
type Marathon ¶
type Marathon struct {
BaseProvider
Endpoint string `description:"Marathon server endpoint. You can also specify multiple endpoint for Marathon"`
Domain string `description:"Default domain used"`
ExposedByDefault bool `description:"Expose Marathon apps by default"`
GroupsAsSubDomains bool `description:"Convert Marathon groups to subdomains"`
Basic *MarathonBasic
TLS *tls.Config
// contains filtered or unexported fields
}
Marathon holds configuration of the Marathon provider.
func (*Marathon) Provide ¶
func (provider *Marathon) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.
type MarathonBasic ¶
MarathonBasic holds basic authentication specific configurations
type Namespaces ¶
type Namespaces []string
Namespaces holds kubernetes namespaces
func (*Namespaces) Set ¶
func (ns *Namespaces) Set(str string) error
Set adds strings elem into the the parser it splits str on , and ;
func (*Namespaces) SetValue ¶
func (ns *Namespaces) SetValue(val interface{})
SetValue sets []string into the parser
type Provider ¶
type Provider interface {
// Provide allows the provider to provide configurations to traefik
// using the given configuration channel.
Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
}
Provider defines methods of a provider.
type Zookepper ¶
type Zookepper struct {
Kv
}
Zookepper holds configurations of the Zookepper provider.
func (*Zookepper) Provide ¶
func (provider *Zookepper) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error
Provide allows the provider to provide configurations to traefik using the given configuration channel.