diff --git a/provider/consul/consul_catalog.go b/provider/consul/consul_catalog.go index b87d63e90..97000ed67 100644 --- a/provider/consul/consul_catalog.go +++ b/provider/consul/consul_catalog.go @@ -430,7 +430,7 @@ func (p *CatalogProvider) getBasicAuth(tags []string) []string { } func (p *CatalogProvider) getSticky(tags []string) string { - stickyTag := p.getTag(types.LabelBackendLoadbalancerSticky, tags, "") + stickyTag := p.getAttribute(types.SuffixBackendLoadBalancerSticky, tags, "") if len(stickyTag) > 0 { log.Warnf("Deprecated configuration found: %s. Please use %s.", types.LabelBackendLoadbalancerSticky, types.LabelBackendLoadbalancerStickiness) } else { @@ -440,12 +440,12 @@ func (p *CatalogProvider) getSticky(tags []string) string { } func (p *CatalogProvider) hasStickinessLabel(tags []string) bool { - stickinessTag := p.getTag(types.LabelBackendLoadbalancerStickiness, tags, "") + stickinessTag := p.getAttribute(types.SuffixBackendLoadBalancerStickiness, tags, "") return len(stickinessTag) > 0 && strings.EqualFold(strings.TrimSpace(stickinessTag), "true") } func (p *CatalogProvider) getStickinessCookieName(tags []string) string { - return p.getTag(types.LabelBackendLoadbalancerStickinessCookieName, tags, "") + return p.getAttribute(types.SuffixBackendLoadBalancerStickinessCookieName, tags, "") } func (p *CatalogProvider) getAttribute(name string, tags []string, defaultValue string) string { diff --git a/types/common_label.go b/types/common_label.go index f0bc3ffd5..dbe1e017e 100644 --- a/types/common_label.go +++ b/types/common_label.go @@ -4,70 +4,73 @@ import "strings" // Traefik labels const ( - LabelPrefix = "traefik." - SuffixPort = "port" - SuffixProtocol = "protocol" - SuffixWeight = "weight" - SuffixFrontendAuthBasic = "frontend.auth.basic" - SuffixFrontendBackend = "frontend.backend" - SuffixFrontendEntryPoints = "frontend.entryPoints" - SuffixFrontendPassHostHeader = "frontend.passHostHeader" - SuffixFrontendPriority = "frontend.priority" - SuffixFrontendRedirectEntryPoint = "frontend.redirect.entryPoint" - SuffixFrontendRedirectRegex = "frontend.redirect.regex" - SuffixFrontendRedirectReplacement = "frontend.redirect.replacement" - SuffixFrontendRule = "frontend.rule" - LabelDomain = LabelPrefix + "domain" - LabelEnable = LabelPrefix + "enable" - LabelPort = LabelPrefix + SuffixPort - LabelPortIndex = LabelPrefix + "portIndex" - LabelProtocol = LabelPrefix + SuffixProtocol - LabelTags = LabelPrefix + "tags" - LabelWeight = LabelPrefix + SuffixWeight - LabelFrontendAuthBasic = LabelPrefix + SuffixFrontendAuthBasic - LabelFrontendEntryPoints = LabelPrefix + SuffixFrontendEntryPoints - LabelFrontendPassHostHeader = LabelPrefix + SuffixFrontendPassHostHeader - LabelFrontendPassTLSCert = LabelPrefix + "frontend.passTLSCert" - LabelFrontendPriority = LabelPrefix + SuffixFrontendPriority - LabelFrontendRule = LabelPrefix + SuffixFrontendRule - LabelFrontendRuleType = LabelPrefix + "frontend.rule.type" - LabelFrontendRedirectEntryPoint = LabelPrefix + SuffixFrontendRedirectEntryPoint - LabelFrontendRedirectRegex = LabelPrefix + SuffixFrontendRedirectRegex - LabelFrontendRedirectReplacement = LabelPrefix + SuffixFrontendRedirectReplacement - LabelTraefikFrontendValue = LabelPrefix + "frontend.value" - LabelTraefikFrontendWhitelistSourceRange = LabelPrefix + "frontend.whitelistSourceRange" - LabelFrontendRequestHeaders = LabelPrefix + "frontend.headers.customRequestHeaders" - LabelFrontendResponseHeaders = LabelPrefix + "frontend.headers.customResponseHeaders" - LabelFrontendAllowedHosts = LabelPrefix + "frontend.headers.allowedHosts" - LabelFrontendHostsProxyHeaders = LabelPrefix + "frontend.headers.hostsProxyHeaders" - LabelFrontendSSLRedirect = LabelPrefix + "frontend.headers.SSLRedirect" - LabelFrontendSSLTemporaryRedirect = LabelPrefix + "frontend.headers.SSLTemporaryRedirect" - LabelFrontendSSLHost = LabelPrefix + "frontend.headers.SSLHost" - LabelFrontendSSLProxyHeaders = LabelPrefix + "frontend.headers.SSLProxyHeaders" - LabelFrontendSTSSeconds = LabelPrefix + "frontend.headers.STSSeconds" - LabelFrontendSTSIncludeSubdomains = LabelPrefix + "frontend.headers.STSIncludeSubdomains" - LabelFrontendSTSPreload = LabelPrefix + "frontend.headers.STSPreload" - LabelFrontendForceSTSHeader = LabelPrefix + "frontend.headers.forceSTSHeader" - LabelFrontendFrameDeny = LabelPrefix + "frontend.headers.frameDeny" - LabelFrontendCustomFrameOptionsValue = LabelPrefix + "frontend.headers.customFrameOptionsValue" - LabelFrontendContentTypeNosniff = LabelPrefix + "frontend.headers.contentTypeNosniff" - LabelFrontendBrowserXSSFilter = LabelPrefix + "frontend.headers.browserXSSFilter" - LabelFrontendContentSecurityPolicy = LabelPrefix + "frontend.headers.contentSecurityPolicy" - LabelFrontendPublicKey = LabelPrefix + "frontend.headers.publicKey" - LabelFrontendReferrerPolicy = LabelPrefix + "frontend.headers.referrerPolicy" - LabelFrontendIsDevelopment = LabelPrefix + "frontend.headers.isDevelopment" - LabelBackend = LabelPrefix + "backend" - LabelBackendID = LabelPrefix + "backend.id" - LabelTraefikBackendCircuitbreaker = LabelPrefix + "backend.circuitbreaker" - LabelBackendCircuitbreakerExpression = LabelPrefix + "backend.circuitbreaker.expression" - LabelBackendHealthcheckPath = LabelPrefix + "backend.healthcheck.path" - LabelBackendHealthcheckInterval = LabelPrefix + "backend.healthcheck.interval" - LabelBackendLoadbalancerMethod = LabelPrefix + "backend.loadbalancer.method" - LabelBackendLoadbalancerSticky = LabelPrefix + "backend.loadbalancer.sticky" - LabelBackendLoadbalancerStickiness = LabelPrefix + "backend.loadbalancer.stickiness" - LabelBackendLoadbalancerStickinessCookieName = LabelPrefix + "backend.loadbalancer.stickiness.cookieName" - LabelBackendMaxconnAmount = LabelPrefix + "backend.maxconn.amount" - LabelBackendMaxconnExtractorfunc = LabelPrefix + "backend.maxconn.extractorfunc" + LabelPrefix = "traefik." + SuffixPort = "port" + SuffixProtocol = "protocol" + SuffixWeight = "weight" + SuffixFrontendAuthBasic = "frontend.auth.basic" + SuffixFrontendBackend = "frontend.backend" + SuffixFrontendEntryPoints = "frontend.entryPoints" + SuffixFrontendPassHostHeader = "frontend.passHostHeader" + SuffixFrontendPriority = "frontend.priority" + SuffixFrontendRedirectEntryPoint = "frontend.redirect.entryPoint" + SuffixFrontendRedirectRegex = "frontend.redirect.regex" + SuffixFrontendRedirectReplacement = "frontend.redirect.replacement" + SuffixFrontendRule = "frontend.rule" + SuffixBackendLoadBalancerSticky = "backend.loadbalancer.sticky" + SuffixBackendLoadBalancerStickiness = "backend.loadbalancer.stickiness" + SuffixBackendLoadBalancerStickinessCookieName = "backend.loadbalancer.stickiness.cookieName" + LabelDomain = LabelPrefix + "domain" + LabelEnable = LabelPrefix + "enable" + LabelPort = LabelPrefix + SuffixPort + LabelPortIndex = LabelPrefix + "portIndex" + LabelProtocol = LabelPrefix + SuffixProtocol + LabelTags = LabelPrefix + "tags" + LabelWeight = LabelPrefix + SuffixWeight + LabelFrontendAuthBasic = LabelPrefix + SuffixFrontendAuthBasic + LabelFrontendEntryPoints = LabelPrefix + SuffixFrontendEntryPoints + LabelFrontendPassHostHeader = LabelPrefix + SuffixFrontendPassHostHeader + LabelFrontendPassTLSCert = LabelPrefix + "frontend.passTLSCert" + LabelFrontendPriority = LabelPrefix + SuffixFrontendPriority + LabelFrontendRule = LabelPrefix + SuffixFrontendRule + LabelFrontendRuleType = LabelPrefix + "frontend.rule.type" + LabelFrontendRedirectEntryPoint = LabelPrefix + SuffixFrontendRedirectEntryPoint + LabelFrontendRedirectRegex = LabelPrefix + SuffixFrontendRedirectRegex + LabelFrontendRedirectReplacement = LabelPrefix + SuffixFrontendRedirectReplacement + LabelTraefikFrontendValue = LabelPrefix + "frontend.value" + LabelTraefikFrontendWhitelistSourceRange = LabelPrefix + "frontend.whitelistSourceRange" + LabelFrontendRequestHeaders = LabelPrefix + "frontend.headers.customRequestHeaders" + LabelFrontendResponseHeaders = LabelPrefix + "frontend.headers.customResponseHeaders" + LabelFrontendAllowedHosts = LabelPrefix + "frontend.headers.allowedHosts" + LabelFrontendHostsProxyHeaders = LabelPrefix + "frontend.headers.hostsProxyHeaders" + LabelFrontendSSLRedirect = LabelPrefix + "frontend.headers.SSLRedirect" + LabelFrontendSSLTemporaryRedirect = LabelPrefix + "frontend.headers.SSLTemporaryRedirect" + LabelFrontendSSLHost = LabelPrefix + "frontend.headers.SSLHost" + LabelFrontendSSLProxyHeaders = LabelPrefix + "frontend.headers.SSLProxyHeaders" + LabelFrontendSTSSeconds = LabelPrefix + "frontend.headers.STSSeconds" + LabelFrontendSTSIncludeSubdomains = LabelPrefix + "frontend.headers.STSIncludeSubdomains" + LabelFrontendSTSPreload = LabelPrefix + "frontend.headers.STSPreload" + LabelFrontendForceSTSHeader = LabelPrefix + "frontend.headers.forceSTSHeader" + LabelFrontendFrameDeny = LabelPrefix + "frontend.headers.frameDeny" + LabelFrontendCustomFrameOptionsValue = LabelPrefix + "frontend.headers.customFrameOptionsValue" + LabelFrontendContentTypeNosniff = LabelPrefix + "frontend.headers.contentTypeNosniff" + LabelFrontendBrowserXSSFilter = LabelPrefix + "frontend.headers.browserXSSFilter" + LabelFrontendContentSecurityPolicy = LabelPrefix + "frontend.headers.contentSecurityPolicy" + LabelFrontendPublicKey = LabelPrefix + "frontend.headers.publicKey" + LabelFrontendReferrerPolicy = LabelPrefix + "frontend.headers.referrerPolicy" + LabelFrontendIsDevelopment = LabelPrefix + "frontend.headers.isDevelopment" + LabelBackend = LabelPrefix + "backend" + LabelBackendID = LabelPrefix + "backend.id" + LabelTraefikBackendCircuitbreaker = LabelPrefix + "backend.circuitbreaker" + LabelBackendCircuitbreakerExpression = LabelPrefix + "backend.circuitbreaker.expression" + LabelBackendHealthcheckPath = LabelPrefix + "backend.healthcheck.path" + LabelBackendHealthcheckInterval = LabelPrefix + "backend.healthcheck.interval" + LabelBackendLoadbalancerMethod = LabelPrefix + "backend.loadbalancer.method" + LabelBackendLoadbalancerSticky = LabelPrefix + SuffixBackendLoadBalancerSticky + LabelBackendLoadbalancerStickiness = LabelPrefix + SuffixBackendLoadBalancerStickiness + LabelBackendLoadbalancerStickinessCookieName = LabelPrefix + SuffixBackendLoadBalancerStickinessCookieName + LabelBackendMaxconnAmount = LabelPrefix + "backend.maxconn.amount" + LabelBackendMaxconnExtractorfunc = LabelPrefix + "backend.maxconn.extractorfunc" ) //ServiceLabel converts a key value of Label*, given a serviceName, into a pattern ..