2015-11-01 15:35:01 +00:00
|
|
|
package provider
|
|
|
|
|
2015-11-13 10:50:32 +00:00
|
|
|
import (
|
2016-04-13 18:36:23 +00:00
|
|
|
"github.com/containous/traefik/safe"
|
2016-02-24 15:43:39 +00:00
|
|
|
"github.com/containous/traefik/types"
|
2015-11-13 10:50:32 +00:00
|
|
|
"github.com/docker/libkv/store"
|
|
|
|
"github.com/docker/libkv/store/etcd"
|
|
|
|
)
|
2015-10-01 10:04:25 +00:00
|
|
|
|
2015-11-01 18:29:47 +00:00
|
|
|
// Etcd holds configurations of the Etcd provider.
|
2015-11-02 18:48:34 +00:00
|
|
|
type Etcd struct {
|
2016-05-24 15:31:50 +00:00
|
|
|
Kv
|
2015-10-01 10:04:25 +00:00
|
|
|
}
|
|
|
|
|
2015-11-01 18:29:47 +00:00
|
|
|
// Provide allows the provider to provide configurations to traefik
|
|
|
|
// using the given configuration channel.
|
2016-05-31 07:54:42 +00:00
|
|
|
func (provider *Etcd) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints []types.Constraint) error {
|
2016-01-13 21:46:44 +00:00
|
|
|
provider.storeType = store.ETCD
|
2015-11-13 10:50:32 +00:00
|
|
|
etcd.Register()
|
2016-05-30 13:05:58 +00:00
|
|
|
return provider.provide(configurationChan, pool, constraints)
|
2015-10-01 10:04:25 +00:00
|
|
|
}
|