Merge pull request #2452 from weaveworks/mike/docker-swarm/service-ns-selector

Add docker swarm Stack selector ala k8s namespace selector
This commit is contained in:
Alfonso Acosta
2017-04-25 15:57:15 +02:00
committed by GitHub
4 changed files with 54 additions and 15 deletions

View File

@@ -23,6 +23,7 @@ const (
ImageTableID = "image_table"
ServiceName = "service_name"
StackNamespace = "stack_namespace"
DefaultNamespace = "No Stack"
)
// Exposed for testing

View File

@@ -59,12 +59,12 @@ func (t *Tagger) Tag(r report.Report) (report.Report, error) {
}
stackNamespace, ok := container.Latest.Lookup(LabelPrefix + "com.docker.stack.namespace")
if !ok {
continue
}
prefix := stackNamespace + "_"
if strings.HasPrefix(serviceName, prefix) {
serviceName = serviceName[len(prefix):]
stackNamespace = DefaultNamespace
} else {
prefix := stackNamespace + "_"
if strings.HasPrefix(serviceName, prefix) {
serviceName = serviceName[len(prefix):]
}
}
nodeID := report.MakeSwarmServiceNodeID(serviceID)