package consulcatalog import ( "github.com/traefik/traefik/v3/pkg/config/label" ) // 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 } type specificConfiguration struct { Connect bool // .consulcatalog.connect is the corresponding label. Canary bool // .consulcatalog.canary is the corresponding label. } // getExtraConf returns a configuration with settings which are not part of the dynamic configuration (e.g. ".enable"). func (p *Provider) getExtraConf(labels map[string]string) (configuration, error) { conf := configuration{ Enable: p.ExposedByDefault, ConsulCatalog: specificConfiguration{Connect: p.ConnectByDefault}, } err := label.Decode(labels, &conf, "traefik.consulcatalog.", "traefik.enable") if err != nil { return configuration{}, err } return conf, nil }