From 725fcd977e7591b97dccb383dc0b806a147b4178 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 7 Oct 2026 02:03:24 +0200 Subject: [PATCH] Hold a dotted module on its own health condition at the gate --- cmd/mesh-controller/gate.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/mesh-controller/gate.go b/cmd/mesh-controller/gate.go index 7fedb24..55f3098 100644 --- a/cmd/mesh-controller/gate.go +++ b/cmd/mesh-controller/gate.go @@ -200,7 +200,9 @@ func judgeHealth(module, component string, m catalogue.Manifest, machine string, if !onIt { continue } - if c.Subject.Scope == conditions.ScopeMachine || slices.Contains(strings.Split(c.Subject.ID, "."), module) { + // A module's own health condition names it whole, its name's dots and all (ADR 0240). + ownHealth := c.Subject.Scope == conditions.ScopeModule && c.Subject.ID == module+"."+machine + if c.Subject.Scope == conditions.ScopeMachine || ownHealth || slices.Contains(strings.Split(c.Subject.ID, "."), module) { return healthNotYet, fmt.Sprintf("raised since it was sent: %s — %s", c.Key, c.Summary) } }