Factorize labels
* refactor(accesslog): factorize file name. * traefik.frontend.rule * traefik.frontend.value * traefik.backend.circuitbreaker.expression * traefik.enable * traefik.backend.loadbalancer.method * traefik.backend.loadbalancer.sticky * traefik.backend.maxconn.amount * traefik.backend.maxconn.extractorfunc * traefik.port * traefik.tags * traefik.backend * traefik.weight * traefik.domain * traefik.protocol * traefik.frontend.passHostHeader * traefik.frontend.whitelistSourceRange * traefik.frontend.priority * traefik.frontend.entryPoints * traefik.frontend.auth.basic * traefik.backend.id * traefik.backend.circuitbreaker * traefik.frontend.rule.type * traefik.portIndex * refactor(docker): specific labels * refactor(rancher): specific labels * traefik.backend.healthcheck.* * refactor(providers): factorize labels.
This commit is contained in:
parent
2e84b1e556
commit
d653a348b1
20 changed files with 390 additions and 330 deletions
|
@ -206,21 +206,21 @@ func mesosTaskFilter(task state.Task, exposedByDefaultFlag bool) bool {
|
|||
}
|
||||
|
||||
//filter indeterminable task port
|
||||
portIndexLabel := labels(task, "traefik.portIndex")
|
||||
portValueLabel := labels(task, "traefik.port")
|
||||
portIndexLabel := labels(task, types.LabelPortIndex)
|
||||
portValueLabel := labels(task, types.LabelPort)
|
||||
if portIndexLabel != "" && portValueLabel != "" {
|
||||
log.Debugf("Filtering Mesos task %s specifying both traefik.portIndex and traefik.port labels", task.Name)
|
||||
return false
|
||||
}
|
||||
if portIndexLabel != "" {
|
||||
index, err := strconv.Atoi(labels(task, "traefik.portIndex"))
|
||||
index, err := strconv.Atoi(labels(task, types.LabelPortIndex))
|
||||
if err != nil || index < 0 || index > len(task.DiscoveryInfo.Ports.DiscoveryPorts)-1 {
|
||||
log.Debugf("Filtering Mesos task %s with unexpected value for traefik.portIndex label", task.Name)
|
||||
return false
|
||||
}
|
||||
}
|
||||
if portValueLabel != "" {
|
||||
port, err := strconv.Atoi(labels(task, "traefik.port"))
|
||||
port, err := strconv.Atoi(labels(task, types.LabelPort))
|
||||
if err != nil {
|
||||
log.Debugf("Filtering Mesos task %s with unexpected value for traefik.port label", task.Name)
|
||||
return false
|
||||
|
@ -259,7 +259,7 @@ func getMesos(task state.Task, apps []state.Task) (state.Task, error) {
|
|||
}
|
||||
|
||||
func isMesosApplicationEnabled(task state.Task, exposedByDefault bool) bool {
|
||||
return exposedByDefault && labels(task, "traefik.enable") != "false" || labels(task, "traefik.enable") == "true"
|
||||
return exposedByDefault && labels(task, types.LabelEnable) != "false" || labels(task, types.LabelEnable) == "true"
|
||||
}
|
||||
|
||||
func (p *Provider) getLabel(task state.Task, label string) (string, error) {
|
||||
|
@ -278,12 +278,12 @@ func (p *Provider) getPort(task state.Task, applications []state.Task) string {
|
|||
return ""
|
||||
}
|
||||
|
||||
if portIndexLabel, err := p.getLabel(application, "traefik.portIndex"); err == nil {
|
||||
if portIndexLabel, err := p.getLabel(application, types.LabelPortIndex); err == nil {
|
||||
if index, err := strconv.Atoi(portIndexLabel); err == nil {
|
||||
return strconv.Itoa(task.DiscoveryInfo.Ports.DiscoveryPorts[index].Number)
|
||||
}
|
||||
}
|
||||
if portValueLabel, err := p.getLabel(application, "traefik.port"); err == nil {
|
||||
if portValueLabel, err := p.getLabel(application, types.LabelPort); err == nil {
|
||||
return portValueLabel
|
||||
}
|
||||
|
||||
|
@ -300,14 +300,14 @@ func (p *Provider) getWeight(task state.Task, applications []state.Task) string
|
|||
return "0"
|
||||
}
|
||||
|
||||
if label, err := p.getLabel(application, "traefik.weight"); err == nil {
|
||||
if label, err := p.getLabel(application, types.LabelWeight); err == nil {
|
||||
return label
|
||||
}
|
||||
return "0"
|
||||
}
|
||||
|
||||
func (p *Provider) getDomain(task state.Task) string {
|
||||
if label, err := p.getLabel(task, "traefik.domain"); err == nil {
|
||||
if label, err := p.getLabel(task, types.LabelDomain); err == nil {
|
||||
return label
|
||||
}
|
||||
return p.Domain
|
||||
|
@ -319,28 +319,28 @@ func (p *Provider) getProtocol(task state.Task, applications []state.Task) strin
|
|||
log.Errorf("Unable to get Mesos application from task %s", task.DiscoveryInfo.Name)
|
||||
return "http"
|
||||
}
|
||||
if label, err := p.getLabel(application, "traefik.protocol"); err == nil {
|
||||
if label, err := p.getLabel(application, types.LabelProtocol); err == nil {
|
||||
return label
|
||||
}
|
||||
return "http"
|
||||
}
|
||||
|
||||
func (p *Provider) getPassHostHeader(task state.Task) string {
|
||||
if passHostHeader, err := p.getLabel(task, "traefik.frontend.passHostHeader"); err == nil {
|
||||
if passHostHeader, err := p.getLabel(task, types.LabelFrontendPassHostHeader); err == nil {
|
||||
return passHostHeader
|
||||
}
|
||||
return "false"
|
||||
}
|
||||
|
||||
func (p *Provider) getPriority(task state.Task) string {
|
||||
if priority, err := p.getLabel(task, "traefik.frontend.priority"); err == nil {
|
||||
if priority, err := p.getLabel(task, types.LabelFrontendPriority); err == nil {
|
||||
return priority
|
||||
}
|
||||
return "0"
|
||||
}
|
||||
|
||||
func (p *Provider) getEntryPoints(task state.Task) []string {
|
||||
if entryPoints, err := p.getLabel(task, "traefik.frontend.entryPoints"); err == nil {
|
||||
if entryPoints, err := p.getLabel(task, types.LabelFrontendEntryPoints); err == nil {
|
||||
return strings.Split(entryPoints, ",")
|
||||
}
|
||||
return []string{}
|
||||
|
@ -349,7 +349,7 @@ func (p *Provider) getEntryPoints(task state.Task) []string {
|
|||
// getFrontendRule returns the frontend rule for the specified application, using
|
||||
// it's label. It returns a default one (Host) if the label is not present.
|
||||
func (p *Provider) getFrontendRule(task state.Task) string {
|
||||
if label, err := p.getLabel(task, "traefik.frontend.rule"); err == nil {
|
||||
if label, err := p.getLabel(task, types.LabelFrontendRule); err == nil {
|
||||
return label
|
||||
}
|
||||
return "Host:" + strings.ToLower(strings.Replace(p.getSubDomain(task.DiscoveryInfo.Name), "_", "-", -1)) + "." + p.Domain
|
||||
|
@ -365,7 +365,7 @@ func (p *Provider) getBackend(task state.Task, applications []state.Task) string
|
|||
}
|
||||
|
||||
func (p *Provider) getFrontendBackend(task state.Task) string {
|
||||
if label, err := p.getLabel(task, "traefik.backend"); err == nil {
|
||||
if label, err := p.getLabel(task, types.LabelBackend); err == nil {
|
||||
return label
|
||||
}
|
||||
return "-" + cleanupSpecialChars(task.DiscoveryInfo.Name)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue