label

package
v1.7.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2018 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultWeight                                  = 1
	DefaultProtocol                                = "http"
	DefaultPassHostHeader                          = true
	DefaultPassTLSCert                             = false
	DefaultFrontendPriority                        = 0
	DefaultCircuitBreakerExpression                = "NetworkErrorRatio() > 1"
	DefaultBackendLoadBalancerMethod               = "wrr"
	DefaultBackendMaxconnExtractorFunc             = "request.host"
	DefaultBackendLoadbalancerStickinessCookieName = ""
	DefaultBackendHealthCheckPort                  = 0
)

Default values

View Source
const (
	Prefix                                          = "traefik."
	SuffixBackend                                   = "backend"
	SuffixDomain                                    = "domain"
	SuffixEnable                                    = "enable"
	SuffixPort                                      = "port"
	SuffixPortName                                  = "portName"
	SuffixPortIndex                                 = "portIndex"
	SuffixProtocol                                  = "protocol"
	SuffixTags                                      = "tags"
	SuffixWeight                                    = "weight"
	SuffixBackendID                                 = "backend.id"
	SuffixBackendCircuitBreaker                     = "backend.circuitbreaker"
	SuffixBackendCircuitBreakerExpression           = "backend.circuitbreaker.expression"
	SuffixBackendHealthCheckScheme                  = "backend.healthcheck.scheme"
	SuffixBackendHealthCheckPath                    = "backend.healthcheck.path"
	SuffixBackendHealthCheckPort                    = "backend.healthcheck.port"
	SuffixBackendHealthCheckInterval                = "backend.healthcheck.interval"
	SuffixBackendHealthCheckHostname                = "backend.healthcheck.hostname"
	SuffixBackendHealthCheckHeaders                 = "backend.healthcheck.headers"
	SuffixBackendLoadBalancer                       = "backend.loadbalancer"
	SuffixBackendLoadBalancerMethod                 = SuffixBackendLoadBalancer + ".method"
	SuffixBackendLoadBalancerSticky                 = SuffixBackendLoadBalancer + ".sticky"
	SuffixBackendLoadBalancerStickiness             = SuffixBackendLoadBalancer + ".stickiness"
	SuffixBackendLoadBalancerStickinessCookieName   = SuffixBackendLoadBalancer + ".stickiness.cookieName"
	SuffixBackendMaxConnAmount                      = "backend.maxconn.amount"
	SuffixBackendMaxConnExtractorFunc               = "backend.maxconn.extractorfunc"
	SuffixBackendBuffering                          = "backend.buffering"
	SuffixBackendBufferingMaxRequestBodyBytes       = SuffixBackendBuffering + ".maxRequestBodyBytes"
	SuffixBackendBufferingMemRequestBodyBytes       = SuffixBackendBuffering + ".memRequestBodyBytes"
	SuffixBackendBufferingMaxResponseBodyBytes      = SuffixBackendBuffering + ".maxResponseBodyBytes"
	SuffixBackendBufferingMemResponseBodyBytes      = SuffixBackendBuffering + ".memResponseBodyBytes"
	SuffixBackendBufferingRetryExpression           = SuffixBackendBuffering + ".retryExpression"
	SuffixFrontend                                  = "frontend"
	SuffixFrontendAuth                              = SuffixFrontend + ".auth"
	SuffixFrontendAuthBasic                         = SuffixFrontendAuth + ".basic"
	SuffixFrontendAuthBasicUsers                    = SuffixFrontendAuthBasic + ".users"
	SuffixFrontendAuthBasicUsersFile                = SuffixFrontendAuthBasic + ".usersFile"
	SuffixFrontendAuthDigest                        = SuffixFrontendAuth + ".digest"
	SuffixFrontendAuthDigestUsers                   = SuffixFrontendAuthDigest + ".users"
	SuffixFrontendAuthDigestUsersFile               = SuffixFrontendAuthDigest + ".usersFile"
	SuffixFrontendAuthForward                       = SuffixFrontendAuth + ".forward"
	SuffixFrontendAuthForwardAddress                = SuffixFrontendAuthForward + ".address"
	SuffixFrontendAuthForwardTLS                    = SuffixFrontendAuthForward + ".tls"
	SuffixFrontendAuthForwardTLSCa                  = SuffixFrontendAuthForwardTLS + ".ca"
	SuffixFrontendAuthForwardTLSCaOptional          = SuffixFrontendAuthForwardTLS + ".caOptional"
	SuffixFrontendAuthForwardTLSCert                = SuffixFrontendAuthForwardTLS + ".cert"
	SuffixFrontendAuthForwardTLSInsecureSkipVerify  = SuffixFrontendAuthForwardTLS + ".insecureSkipVerify"
	SuffixFrontendAuthForwardTLSKey                 = SuffixFrontendAuthForwardTLS + ".key"
	SuffixFrontendAuthForwardTrustForwardHeader     = SuffixFrontendAuthForward + ".trustForwardHeader"
	SuffixFrontendAuthHeaderField                   = SuffixFrontendAuth + ".headerField"
	SuffixFrontendEntryPoints                       = "frontend.entryPoints"
	SuffixFrontendHeaders                           = "frontend.headers."
	SuffixFrontendRequestHeaders                    = SuffixFrontendHeaders + "customRequestHeaders"
	SuffixFrontendResponseHeaders                   = SuffixFrontendHeaders + "customResponseHeaders"
	SuffixFrontendHeadersAllowedHosts               = SuffixFrontendHeaders + "allowedHosts"
	SuffixFrontendHeadersHostsProxyHeaders          = SuffixFrontendHeaders + "hostsProxyHeaders"
	SuffixFrontendHeadersSSLForceHost               = SuffixFrontendHeaders + "SSLForceHost"
	SuffixFrontendHeadersSSLRedirect                = SuffixFrontendHeaders + "SSLRedirect"
	SuffixFrontendHeadersSSLTemporaryRedirect       = SuffixFrontendHeaders + "SSLTemporaryRedirect"
	SuffixFrontendHeadersSSLHost                    = SuffixFrontendHeaders + "SSLHost"
	SuffixFrontendHeadersSSLProxyHeaders            = SuffixFrontendHeaders + "SSLProxyHeaders"
	SuffixFrontendHeadersSTSSeconds                 = SuffixFrontendHeaders + "STSSeconds"
	SuffixFrontendHeadersSTSIncludeSubdomains       = SuffixFrontendHeaders + "STSIncludeSubdomains"
	SuffixFrontendHeadersSTSPreload                 = SuffixFrontendHeaders + "STSPreload"
	SuffixFrontendHeadersForceSTSHeader             = SuffixFrontendHeaders + "forceSTSHeader"
	SuffixFrontendHeadersFrameDeny                  = SuffixFrontendHeaders + "frameDeny"
	SuffixFrontendHeadersCustomFrameOptionsValue    = SuffixFrontendHeaders + "customFrameOptionsValue"
	SuffixFrontendHeadersContentTypeNosniff         = SuffixFrontendHeaders + "contentTypeNosniff"
	SuffixFrontendHeadersBrowserXSSFilter           = SuffixFrontendHeaders + "browserXSSFilter"
	SuffixFrontendHeadersCustomBrowserXSSValue      = SuffixFrontendHeaders + "customBrowserXSSValue"
	SuffixFrontendHeadersContentSecurityPolicy      = SuffixFrontendHeaders + "contentSecurityPolicy"
	SuffixFrontendHeadersPublicKey                  = SuffixFrontendHeaders + "publicKey"
	SuffixFrontendHeadersReferrerPolicy             = SuffixFrontendHeaders + "referrerPolicy"
	SuffixFrontendHeadersIsDevelopment              = SuffixFrontendHeaders + "isDevelopment"
	SuffixFrontendPassHostHeader                    = "frontend.passHostHeader"
	SuffixFrontendPassTLSCert                       = "frontend.passTLSCert"
	SuffixFrontendPriority                          = "frontend.priority"
	SuffixFrontendRateLimitExtractorFunc            = "frontend.rateLimit.extractorFunc"
	SuffixFrontendRedirectEntryPoint                = "frontend.redirect.entryPoint"
	SuffixFrontendRedirectRegex                     = "frontend.redirect.regex"
	SuffixFrontendRedirectReplacement               = "frontend.redirect.replacement"
	SuffixFrontendRedirectPermanent                 = "frontend.redirect.permanent"
	SuffixFrontendRule                              = "frontend.rule"
	SuffixFrontendWhitelistSourceRange              = "frontend.whitelistSourceRange" // Deprecated
	SuffixFrontendWhiteList                         = "frontend.whiteList."
	SuffixFrontendWhiteListSourceRange              = SuffixFrontendWhiteList + "sourceRange"
	SuffixFrontendWhiteListUseXForwardedFor         = SuffixFrontendWhiteList + "useXForwardedFor"
	TraefikDomain                                   = Prefix + SuffixDomain
	TraefikEnable                                   = Prefix + SuffixEnable
	TraefikPort                                     = Prefix + SuffixPort
	TraefikPortName                                 = Prefix + SuffixPortName
	TraefikPortIndex                                = Prefix + SuffixPortIndex
	TraefikProtocol                                 = Prefix + SuffixProtocol
	TraefikTags                                     = Prefix + SuffixTags
	TraefikWeight                                   = Prefix + SuffixWeight
	TraefikBackend                                  = Prefix + SuffixBackend
	TraefikBackendID                                = Prefix + SuffixBackendID
	TraefikBackendCircuitBreaker                    = Prefix + SuffixBackendCircuitBreaker
	TraefikBackendCircuitBreakerExpression          = Prefix + SuffixBackendCircuitBreakerExpression
	TraefikBackendHealthCheckScheme                 = Prefix + SuffixBackendHealthCheckScheme
	TraefikBackendHealthCheckPath                   = Prefix + SuffixBackendHealthCheckPath
	TraefikBackendHealthCheckPort                   = Prefix + SuffixBackendHealthCheckPort
	TraefikBackendHealthCheckInterval               = Prefix + SuffixBackendHealthCheckInterval
	TraefikBackendHealthCheckHostname               = Prefix + SuffixBackendHealthCheckHostname
	TraefikBackendHealthCheckHeaders                = Prefix + SuffixBackendHealthCheckHeaders
	TraefikBackendLoadBalancer                      = Prefix + SuffixBackendLoadBalancer
	TraefikBackendLoadBalancerMethod                = Prefix + SuffixBackendLoadBalancerMethod
	TraefikBackendLoadBalancerSticky                = Prefix + SuffixBackendLoadBalancerSticky
	TraefikBackendLoadBalancerStickiness            = Prefix + SuffixBackendLoadBalancerStickiness
	TraefikBackendLoadBalancerStickinessCookieName  = Prefix + SuffixBackendLoadBalancerStickinessCookieName
	TraefikBackendMaxConnAmount                     = Prefix + SuffixBackendMaxConnAmount
	TraefikBackendMaxConnExtractorFunc              = Prefix + SuffixBackendMaxConnExtractorFunc
	TraefikBackendBuffering                         = Prefix + SuffixBackendBuffering
	TraefikBackendBufferingMaxRequestBodyBytes      = Prefix + SuffixBackendBufferingMaxRequestBodyBytes
	TraefikBackendBufferingMemRequestBodyBytes      = Prefix + SuffixBackendBufferingMemRequestBodyBytes
	TraefikBackendBufferingMaxResponseBodyBytes     = Prefix + SuffixBackendBufferingMaxResponseBodyBytes
	TraefikBackendBufferingMemResponseBodyBytes     = Prefix + SuffixBackendBufferingMemResponseBodyBytes
	TraefikBackendBufferingRetryExpression          = Prefix + SuffixBackendBufferingRetryExpression
	TraefikFrontend                                 = Prefix + SuffixFrontend
	TraefikFrontendAuth                             = Prefix + SuffixFrontendAuth
	TraefikFrontendAuthBasic                        = Prefix + SuffixFrontendAuthBasic
	TraefikFrontendAuthBasicUsers                   = Prefix + SuffixFrontendAuthBasicUsers
	TraefikFrontendAuthBasicUsersFile               = Prefix + SuffixFrontendAuthBasicUsersFile
	TraefikFrontendAuthDigest                       = Prefix + SuffixFrontendAuthDigest
	TraefikFrontendAuthDigestUsers                  = Prefix + SuffixFrontendAuthDigestUsers
	TraefikFrontendAuthDigestUsersFile              = Prefix + SuffixFrontendAuthDigestUsersFile
	TraefikFrontendAuthForward                      = Prefix + SuffixFrontendAuthForward
	TraefikFrontendAuthForwardAddress               = Prefix + SuffixFrontendAuthForwardAddress
	TraefikFrontendAuthForwardTLS                   = Prefix + SuffixFrontendAuthForwardTLS
	TraefikFrontendAuthForwardTLSCa                 = Prefix + SuffixFrontendAuthForwardTLSCa
	TraefikFrontendAuthForwardTLSCaOptional         = Prefix + SuffixFrontendAuthForwardTLSCaOptional
	TraefikFrontendAuthForwardTLSCert               = Prefix + SuffixFrontendAuthForwardTLSCert
	TraefikFrontendAuthForwardTLSInsecureSkipVerify = Prefix + SuffixFrontendAuthForwardTLSInsecureSkipVerify
	TraefikFrontendAuthForwardTLSKey                = Prefix + SuffixFrontendAuthForwardTLSKey
	TraefikFrontendAuthForwardTrustForwardHeader    = Prefix + SuffixFrontendAuthForwardTrustForwardHeader
	TraefikFrontendAuthHeaderField                  = Prefix + SuffixFrontendAuthHeaderField
	TraefikFrontendEntryPoints                      = Prefix + SuffixFrontendEntryPoints
	TraefikFrontendPassHostHeader                   = Prefix + SuffixFrontendPassHostHeader
	TraefikFrontendPassTLSCert                      = Prefix + SuffixFrontendPassTLSCert
	TraefikFrontendPriority                         = Prefix + SuffixFrontendPriority
	TraefikFrontendRateLimitExtractorFunc           = Prefix + SuffixFrontendRateLimitExtractorFunc
	TraefikFrontendRedirectEntryPoint               = Prefix + SuffixFrontendRedirectEntryPoint
	TraefikFrontendRedirectRegex                    = Prefix + SuffixFrontendRedirectRegex
	TraefikFrontendRedirectReplacement              = Prefix + SuffixFrontendRedirectReplacement
	TraefikFrontendRedirectPermanent                = Prefix + SuffixFrontendRedirectPermanent
	TraefikFrontendRule                             = Prefix + SuffixFrontendRule
	TraefikFrontendWhitelistSourceRange             = Prefix + SuffixFrontendWhitelistSourceRange // Deprecated
	TraefikFrontendWhiteListSourceRange             = Prefix + SuffixFrontendWhiteListSourceRange
	TraefikFrontendWhiteListUseXForwardedFor        = Prefix + SuffixFrontendWhiteListUseXForwardedFor
	TraefikFrontendRequestHeaders                   = Prefix + SuffixFrontendRequestHeaders
	TraefikFrontendResponseHeaders                  = Prefix + SuffixFrontendResponseHeaders
	TraefikFrontendAllowedHosts                     = Prefix + SuffixFrontendHeadersAllowedHosts
	TraefikFrontendHostsProxyHeaders                = Prefix + SuffixFrontendHeadersHostsProxyHeaders
	TraefikFrontendSSLForceHost                     = Prefix + SuffixFrontendHeadersSSLForceHost
	TraefikFrontendSSLRedirect                      = Prefix + SuffixFrontendHeadersSSLRedirect
	TraefikFrontendSSLTemporaryRedirect             = Prefix + SuffixFrontendHeadersSSLTemporaryRedirect
	TraefikFrontendSSLHost                          = Prefix + SuffixFrontendHeadersSSLHost
	TraefikFrontendSSLProxyHeaders                  = Prefix + SuffixFrontendHeadersSSLProxyHeaders
	TraefikFrontendSTSSeconds                       = Prefix + SuffixFrontendHeadersSTSSeconds
	TraefikFrontendSTSIncludeSubdomains             = Prefix + SuffixFrontendHeadersSTSIncludeSubdomains
	TraefikFrontendSTSPreload                       = Prefix + SuffixFrontendHeadersSTSPreload
	TraefikFrontendForceSTSHeader                   = Prefix + SuffixFrontendHeadersForceSTSHeader
	TraefikFrontendFrameDeny                        = Prefix + SuffixFrontendHeadersFrameDeny
	TraefikFrontendCustomFrameOptionsValue          = Prefix + SuffixFrontendHeadersCustomFrameOptionsValue
	TraefikFrontendContentTypeNosniff               = Prefix + SuffixFrontendHeadersContentTypeNosniff
	TraefikFrontendBrowserXSSFilter                 = Prefix + SuffixFrontendHeadersBrowserXSSFilter
	TraefikFrontendCustomBrowserXSSValue            = Prefix + SuffixFrontendHeadersCustomBrowserXSSValue
	TraefikFrontendContentSecurityPolicy            = Prefix + SuffixFrontendHeadersContentSecurityPolicy
	TraefikFrontendPublicKey                        = Prefix + SuffixFrontendHeadersPublicKey
	TraefikFrontendReferrerPolicy                   = Prefix + SuffixFrontendHeadersReferrerPolicy
	TraefikFrontendIsDevelopment                    = Prefix + SuffixFrontendHeadersIsDevelopment
	BaseFrontendErrorPage                           = "frontend.errors."
	SuffixErrorPageBackend                          = "backend"
	SuffixErrorPageQuery                            = "query"
	SuffixErrorPageStatus                           = "status"
	BaseFrontendRateLimit                           = "frontend.rateLimit.rateSet."
	SuffixRateLimitPeriod                           = "period"
	SuffixRateLimitAverage                          = "average"
	SuffixRateLimitBurst                            = "burst"
)

Traefik labels

Variables

View Source
var (
	// RegexpFrontendErrorPage used to extract error pages from label
	RegexpFrontendErrorPage = regexp.MustCompile(`^traefik\.frontend\.errors\.(?P<name>[^ .]+)\.(?P<field>[^ .]+)$`)

	// RegexpFrontendRateLimit used to extract rate limits from label
	RegexpFrontendRateLimit = regexp.MustCompile(`^traefik\.frontend\.rateLimit\.rateSet\.(?P<name>[^ .]+)\.(?P<field>[^ .]+)$`)
)
View Source
var (
	// SegmentPropertiesRegexp used to extract the name of the segment and the name of the property for this segment
	// All properties are under the format traefik.<segment_name>.frontend.*= except the port/portIndex/weight/protocol/backend directly after traefik.<segment_name>.
	SegmentPropertiesRegexp = regexp.MustCompile(`^traefik\.(?P<segment_name>.+?)\.(?P<property_name>port|portIndex|portName|weight|protocol|backend|frontend\.(.+))$`)

	// PortRegexp used to extract the port label of the segment
	PortRegexp = regexp.MustCompile(`^traefik\.(?P<segment_name>.+?)\.port$`)
)

Functions

func FindSegmentSubmatch

func FindSegmentSubmatch(name string) []string

FindSegmentSubmatch split segment labels

func GetAuth added in v1.7.0

func GetAuth(labels map[string]string) *types.Auth

GetAuth Create auth from labels

func GetBoolValue

func GetBoolValue(labels map[string]string, labelName string, defaultValue bool) bool

GetBoolValue get bool value associated to a label

func GetBuffering

func GetBuffering(labels map[string]string) *types.Buffering

GetBuffering Create buffering from labels

func GetCircuitBreaker

func GetCircuitBreaker(labels map[string]string) *types.CircuitBreaker

GetCircuitBreaker Create circuit breaker from labels

func GetErrorPages

func GetErrorPages(labels map[string]string) map[string]*types.ErrorPage

GetErrorPages Create error pages from labels

func GetFuncBool

func GetFuncBool(labelName string, defaultValue bool) func(map[string]string) bool

GetFuncBool a func related to GetBoolValue

func GetFuncInt

func GetFuncInt(labelName string, defaultValue int) func(map[string]string) int

GetFuncInt a func related to GetIntValue

func GetFuncSliceString

func GetFuncSliceString(labelName string) func(map[string]string) []string

GetFuncSliceString a func related to GetSliceStringValue

func GetFuncString

func GetFuncString(labelName string, defaultValue string) func(map[string]string) string

GetFuncString a func related to GetStringValue

func GetHeaders

func GetHeaders(labels map[string]string) *types.Headers

GetHeaders Create headers from labels

func GetHealthCheck

func GetHealthCheck(labels map[string]string) *types.HealthCheck

GetHealthCheck Create health check from labels

func GetInt64Value

func GetInt64Value(labels map[string]string, labelName string, defaultValue int64) int64

GetInt64Value get int64 value associated to a label

func GetIntValue

func GetIntValue(labels map[string]string, labelName string, defaultValue int) int

GetIntValue get int value associated to a label

func GetLoadBalancer

func GetLoadBalancer(labels map[string]string) *types.LoadBalancer

GetLoadBalancer Create load balancer from labels

func GetMapValue

func GetMapValue(labels map[string]string, labelName string) map[string]string

GetMapValue get Map value associated to a label

func GetMaxConn

func GetMaxConn(labels map[string]string) *types.MaxConn

GetMaxConn Create max connection from labels

func GetRateLimit

func GetRateLimit(labels map[string]string) *types.RateLimit

GetRateLimit Create rate limits from labels

func GetRedirect

func GetRedirect(labels map[string]string) *types.Redirect

GetRedirect Create redirect from labels

func GetServiceLabel

func GetServiceLabel(labelName, serviceName string) string

GetServiceLabel converts a key value of Label*, given a serviceName, into a pattern <LabelPrefix>.<serviceName>.<property> i.e. For LabelFrontendRule and serviceName=app it will return "traefik.app.frontend.rule" Deprecated

func GetSliceStringValue

func GetSliceStringValue(labels map[string]string, labelName string) []string

GetSliceStringValue get a slice of string associated to a label

func GetStringMultipleStrict

func GetStringMultipleStrict(labels map[string]string, labelNames ...string) (map[string]string, error)

GetStringMultipleStrict get multiple string values associated to several labels Fail if one label is missing

func GetStringValue

func GetStringValue(labels map[string]string, labelName string, defaultValue string) string

GetStringValue get string value associated to a label

func GetWhiteList

func GetWhiteList(labels map[string]string) *types.WhiteList

GetWhiteList Create white list from labels

func Has

func Has(labels map[string]string, labelName string) bool

Has Check if a value is associated to a label

func HasPrefix

func HasPrefix(labels map[string]string, prefix string) bool

HasPrefix Check if a value is associated to a less one label with a prefix

func IsEnabled

func IsEnabled(labels map[string]string, exposedByDefault bool) bool

IsEnabled Check if a container is enabled in Træfik

func ParseErrorPages

func ParseErrorPages(labels map[string]string, labelPrefix string, labelRegex *regexp.Regexp) map[string]*types.ErrorPage

ParseErrorPages parse error pages to create ErrorPage struct

func ParseMapValue

func ParseMapValue(labelName, values string) map[string]string

ParseMapValue get Map value for a label value

func ParseRateSets

func ParseRateSets(labels map[string]string, labelPrefix string, labelRegex *regexp.Regexp) map[string]*types.Rate

ParseRateSets parse rate limits to create Rate struct

func SplitAndTrimString

func SplitAndTrimString(base string, sep string) []string

SplitAndTrimString splits separatedString at the separator character and trims each piece, filtering out empty pieces. Returns the list of pieces or nil if the input did not contain a non-empty piece.

Types

type SegmentProperties

type SegmentProperties map[string]SegmentPropertyValues

SegmentProperties is a map of segment properties per segment, which we can get with label[segmentName][propertyName]. It yields a property value.

func ExtractServiceProperties

func ExtractServiceProperties(labels map[string]string) SegmentProperties

ExtractServiceProperties Extract services labels Deprecated

func ExtractServicePropertiesP

func ExtractServicePropertiesP(labels *map[string]string) SegmentProperties

ExtractServicePropertiesP Extract services labels Deprecated

func ExtractTraefikLabels

func ExtractTraefikLabels(originLabels map[string]string) SegmentProperties

ExtractTraefikLabels transform labels to segment labels

func (SegmentProperties) GetSegmentNames

func (s SegmentProperties) GetSegmentNames() []string

GetSegmentNames get all segment names

type SegmentPropertyValues

type SegmentPropertyValues map[string]string

SegmentPropertyValues is a map of segment properties an example value is: weight=42

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL