1
0
Fork 0

Refactor providers and add tests

- Add a `baseProvider` struct with common
- Refactor docker, kv(s) and marathon providers (spliting into small pieces)
- Add unit tests

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
Vincent Demeester 2015-11-13 11:50:32 +01:00
parent 3f905ee7d0
commit 4d485e1b6b
14 changed files with 2319 additions and 438 deletions

View file

@ -1,19 +1,20 @@
package provider
import "github.com/emilevauge/traefik/types"
import (
"github.com/docker/libkv/store"
"github.com/docker/libkv/store/consul"
"github.com/emilevauge/traefik/types"
)
// Consul holds configurations of the Consul provider.
type Consul struct {
Watch bool
Endpoint string
Prefix string
Filename string
KvProvider *Kv
Kv
}
// Provide allows the provider to provide configurations to traefik
// using the given configuration channel.
func (provider *Consul) Provide(configurationChan chan<- types.ConfigMessage) error {
provider.KvProvider = NewConsulProvider(provider)
return provider.KvProvider.provide(configurationChan)
provider.StoreType = store.CONSUL
consul.Register()
return provider.provide(configurationChan)
}