diff --git a/src/lib/containers/infra.go b/src/lib/containers/infra.go index 17cb9f8..efa0b51 100644 --- a/src/lib/containers/infra.go +++ b/src/lib/containers/infra.go @@ -18,6 +18,7 @@ package containers import ( "context" "fmt" + "strings" "git.dcntrlized.org/Dcntrlized/Maestro/lib/docker" "git.dcntrlized.org/Dcntrlized/Maestro/lib/logger" @@ -117,8 +118,16 @@ func infraRunning(ctx context.Context, dc *docker.DockerClient, serviceName stri return false } for _, c := range containers { - if c.State == "running" || c.State == "restarting" { - return true + if c.State != "running" && c.State != "restarting" { + continue + } + // Only the canonical container (e.g. "dcntrlized-auth") counts as the + // shared infrastructure being up. Dev lookalikes (auth-debug) share the + // role label but must never satisfy the check. + for _, n := range c.Names { + if strings.TrimPrefix(n, "/") == serviceName { + return true + } } } return false