traefik/pkg/provider/consulcatalog/label.go

30 lines
741 B
Go
Raw Normal View History

2019-10-15 15:34:08 +00:00
package consulcatalog
import (
"github.com/traefik/traefik/v2/pkg/config/label"
2019-10-15 15:34:08 +00:00
)
// configuration Contains information from the labels that are globals (not related to the dynamic configuration) or specific to the provider.
type configuration struct {
Enable bool
ConsulCatalog specificConfiguration
2019-10-15 15:34:08 +00:00
}
type specificConfiguration struct {
Connect bool
}
func (p *Provider) getConfiguration(labels map[string]string) (configuration, error) {
2019-10-15 15:34:08 +00:00
conf := configuration{
Enable: p.ExposedByDefault,
ConsulCatalog: specificConfiguration{Connect: p.ConnectByDefault},
2019-10-15 15:34:08 +00:00
}
err := label.Decode(labels, &conf, "traefik.consulcatalog.", "traefik.enable")
2019-10-15 15:34:08 +00:00
if err != nil {
return configuration{}, err
}
return conf, nil
}