1
0
Fork 0

Several apps with same backend name in Marathon.

This commit is contained in:
Ludovic Fernandez 2018-04-04 12:28:03 +02:00 committed by Traefiker Bot
parent 6845068b82
commit 88b71d23db
6 changed files with 367 additions and 278 deletions

View file

@ -54,14 +54,14 @@ func constraint(value string) func(*marathon.Application) {
}
}
func withServiceLabel(key, value string, serviceName string) func(*marathon.Application) {
if len(serviceName) == 0 {
panic("serviceName can not be empty")
func withSegmentLabel(key, value string, segmentName string) func(*marathon.Application) {
if len(segmentName) == 0 {
panic("segmentName can not be empty")
}
property := strings.TrimPrefix(key, label.Prefix)
return func(app *marathon.Application) {
app.AddLabel(label.Prefix+serviceName+"."+property, value)
app.AddLabel(label.Prefix+segmentName+"."+property, value)
}
}
@ -152,6 +152,7 @@ func localhostTask(ops ...func(*marathon.Task)) marathon.Task {
t := task(
host("localhost"),
ipAddresses("127.0.0.1"),
taskState(taskStateRunning),
)
for _, op := range ops {
@ -167,6 +168,12 @@ func taskPorts(ports ...int) func(*marathon.Task) {
}
}
func taskState(state TaskState) func(*marathon.Task) {
return func(t *marathon.Task) {
t.State = string(state)
}
}
func host(h string) func(*marathon.Task) {
return func(t *marathon.Task) {
t.Host = h
@ -184,12 +191,6 @@ func ipAddresses(addresses ...string) func(*marathon.Task) {
}
}
func state(s TaskState) func(*marathon.Task) {
return func(t *marathon.Task) {
t.State = string(s)
}
}
func startedAt(timestamp string) func(*marathon.Task) {
return func(t *marathon.Task) {
t.StartedAt = timestamp