1
0
Fork 0

Add marathon directory subdomain

Signed-off-by: Emile Vauge <emile@vauge.com>
This commit is contained in:
Emile Vauge 2016-05-31 23:23:23 +02:00
parent 1a75a71ad6
commit 72f88e5c0f
No known key found for this signature in database
GPG key ID: D808B4C167352E59
4 changed files with 55 additions and 7 deletions

View file

@ -3,6 +3,7 @@ package provider
import (
"errors"
"net/url"
"sort"
"strconv"
"strings"
"text/template"
@ -341,7 +342,7 @@ func (provider *Marathon) getFrontendRule(application marathon.Application) stri
if label, err := provider.getLabel(application, "traefik.frontend.rule"); err == nil {
return label
}
return "Host:" + getEscapedName(application.ID) + "." + provider.Domain
return "Host:" + provider.getEscapedName(application.ID) + "." + provider.Domain
}
func (provider *Marathon) getBackend(task marathon.Task, applications []marathon.Application) string {
@ -359,3 +360,10 @@ func (provider *Marathon) getFrontendBackend(application marathon.Application) s
}
return replace("/", "-", application.ID)
}
func (provider *Marathon) getEscapedName(name string) string {
splitedName := strings.Split(strings.TrimPrefix(name, "/"), "/")
sort.Sort(sort.Reverse(sort.StringSlice(splitedName)))
reverseName := strings.Join(splitedName, ".")
return reverseName
}