ADRs 0138 and 0139: an assignment binds an endpoint and says how far it reaches, and a network is forwarded because a module declared it

Both follow from the same rule the mesh is built on — a node's configuration is
composed from the modules assigned to it. Reach was settled separately by the
filter, the proxy's names and the certificate authority, so "this must not be
public" could not be written; it becomes one value on the assignment that all
three read. And the forward chain consulted two constants plus a typed list
although modules already declare their networks; it now forwards what they
declared, with the host rendering the addresses it allocated.
This commit is contained in:
2026-09-28 23:03:32 +02:00
parent 2126e7b2cb
commit 14ff89fa40
6 changed files with 398 additions and 7 deletions
@@ -1,9 +1,14 @@
---
status: open
status: located
opened: 2026-09-28
located-in: []
located-in:
- mesh-controller internal/catalogue/manifest.go
- mesh-controller internal/catalogue/filtering.go
- mesh-controller internal/catalogue/declaration.go
- mesh-controller examples/route-proxy
- mesh-catalog (every routed module manifest)
fixed-by:
amended-design:
amended-design: 03-DESIGN/01-to-be/08-connectivity.md
---
# 140 — An endpoint's reach is not declared, so three mechanisms each decide it separately
@@ -1,9 +1,11 @@
---
status: open
status: located
opened: 2026-09-28
located-in: []
located-in:
- mesh-controller internal/catalogue/filtering.go
- mesh-host internal/apply
fixed-by:
amended-design:
amended-design: 03-DESIGN/01-to-be/08-connectivity.md
---
# 141 — The forward chain does not follow the modules, though the modules declare their networks