ADR 0106: the bus is NATS — native, built beside the migration, cut over after its core; issue 104 resolved

This commit is contained in:
2026-09-23 23:39:17 +02:00
parent 6f173a7912
commit e022798858
5 changed files with 100 additions and 3 deletions
+12
View File
@@ -10,6 +10,7 @@ code:
updated: 2026-09-23
decisions:
- 02-DECISIONS/0104-a-provision-may-be-answered-by-an-adapter-to-the-predecessor.md
- 02-DECISIONS/0106-the-bus-is-nats.md
- 02-DECISIONS/0105-the-mesh-adopts-the-predecessors-tunnel-in-place.md
- 02-DECISIONS/0103-what-an-adopted-node-holds-and-what-its-guard-refuses.md
- 02-DECISIONS/0100-a-node-in-use-is-adopted-before-it-is-converged.md
@@ -732,3 +733,14 @@ controller composes follows it, as readers of a setting. ADR 0100's non-overlap
where a found tunnel is left running beside the mesh's; where it is adopted there is one tunnel.
The guard admits the mesh's ports from that one interface, and the predecessor's peers arrive on
it.
## The bus is NATS
*2026-09-23, [ADR 0106](../../02-DECISIONS/0106-the-bus-is-nats.md). Architecture to be written
before code; this section names the shape only.*
Every link the mesh has rides NATS subjects; durability is JetStream's; a module's account is a
NATS account with permissions derived from `emits`/`consumes`, declared as configuration the host
writes and the server reloads. The sdk's contract is unchanged. The adopted AMQP broker stays as
the predecessor's compatibility broker until its last client is gone. Built in the lab beside the
migration; cut over in one rollout after the core; the person's client is designed on it.