1
0
Fork 0

Frontend rule and segment labels.

This commit is contained in:
Ludovic Fernandez 2018-03-28 17:18:04 +02:00 committed by Traefiker Bot
parent 118b4eb07a
commit a731b43b52
11 changed files with 40 additions and 30 deletions

View file

@ -88,7 +88,7 @@ func (p *Provider) serviceFilter(service rancherData) bool {
return false
}
if len(p.getFrontendRule(service)) == 0 {
if len(p.getFrontendRule(service.Name, labels)) == 0 {
log.Debugf("Filtering container with empty frontend rule %s %s", service.Name, segmentName)
return false
}
@ -123,9 +123,9 @@ func (p *Provider) serviceFilter(service rancherData) bool {
return true
}
func (p *Provider) getFrontendRule(service rancherData) string {
defaultRule := "Host:" + strings.ToLower(strings.Replace(service.Name, "/", ".", -1)) + "." + p.Domain
return label.GetStringValue(service.Labels, label.TraefikFrontendRule, defaultRule)
func (p *Provider) getFrontendRule(serviceName string, labels map[string]string) string {
defaultRule := "Host:" + strings.ToLower(strings.Replace(serviceName, "/", ".", -1)) + "." + p.Domain
return label.GetStringValue(labels, label.TraefikFrontendRule, defaultRule)
}
func (p *Provider) getFrontendName(service rancherData) string {
@ -133,7 +133,7 @@ func (p *Provider) getFrontendName(service rancherData) string {
if len(service.SegmentName) > 0 {
name = getBackendName(service)
} else {
name = p.getFrontendRule(service)
name = p.getFrontendRule(service.Name, service.SegmentLabels)
}
return provider.Normalize(name)