This commit is contained in:
Mateusz Gruszczyński committed 2026-10-22 19:20:57 +02:00
1 parent 58c7d63194
commit 5a0a063031
15 files changed
+124 -53

No files matched your search

+6 -17
View File
@@ -54,13 +54,9 @@ func dockerContainers(ctx context.Context, sock string) ([]dockerContainer, erro
func cleanName(names []string) string {
if len(names) == 0 {
return "container"
return ""
}
name := strings.TrimPrefix(names[0], "/")
if name == "" {
return "container"
}
return name
return strings.TrimPrefix(names[0], "/")
}
func dnsLabel(value string) string {
@@ -78,9 +74,6 @@ func dnsLabel(value string) string {
}
}
out := strings.Trim(b.String(), "-")
if out == "" {
out = "app"
}
if len(out) > 48 {
out = strings.Trim(out[:48], "-")
}
@@ -92,22 +85,15 @@ func serviceIdentity(c dockerContainer, p dockerPort) (key, technical string) {
project := c.Labels["com.docker.compose.project"]
composeService := c.Labels["com.docker.compose.service"]
replica := c.Labels["com.docker.compose.container-number"]
suffix := strconv.Itoa(int(p.PrivatePort))
if project != "" && composeService != "" {
if replica == "" {
replica = name
}
key = fmt.Sprintf("compose:%s/%s/%s:%d/%s", project, composeService, replica, p.PrivatePort, p.Type)
technicalBase := project + "-" + composeService
if replica != "1" {
technicalBase += "-" + replica
}
technical = dnsLabel(technicalBase + "-" + suffix)
} else {
key = fmt.Sprintf("container:%s:%d/%s", name, p.PrivatePort, p.Type)
technical = dnsLabel(name + "-" + suffix)
}
return key, technical
return key, dnsLabel(name)
}
func servicesFrom(containers []dockerContainer) []service {
@@ -115,6 +101,9 @@ func servicesFrom(containers []dockerContainer) []service {
bindingSeen := make(map[string]map[string]struct{})
for _, c := range containers {
name := cleanName(c.Names)
if dnsLabel(name) == "" {
continue
}
for _, p := range c.Ports {
if p.PublicPort == 0 || p.Type != "tcp" {
continue