Issues 102–106 and ADR 0105: what the core migration found, and the hub adopting the predecessor's tunnel #88

Merged
jschoubben merged 1 commits from core/issues-102-106-and-tunnel-adr into main 2026-09-23 20:54:54 +00:00
Owner

From moving the store and the broker onto the predecessor's ports tonight, and surveying the registry before moving it.

Issues

  • 102 — an address recorded at genesis or at build does not follow the node's ports. Three instances: the controller's store address, its broker address (both took the mesh down; both bridged by hand), and every recorded image reference (found by reading). One category, not three bugs; issue 085 fixed one reader of it.
  • 103 — a container is not recreated when a file it reads changes. The host rewrote the env files and left the processes with the old port; a restart doesn't help because env is read at create.
  • 104 — mesh-host reconcile applies the genesis bundle — converged — on an adopted node and refuses nothing. Forty-five minutes closed. Operator error, recorded as such, sitting on a design hole.
  • 105 — the hub is a placement, not a seat; nothing refuses two.
  • 106 — the vault claims no seat; nothing refuses a second vault.

ADR 0105 — the mesh adopts the predecessor's tunnel in place. Key, port, range, peers. The peers notice nothing; an enrolling node keeps the address the tunnel held for its key; the mesh's own addresses follow the range. Narrows ADR 0100's non-overlap rule to the case where the found tunnel is left running. Reorders the migration: the hub's tunnel goes first, because it is what lets the other machines join — and it takes the provider's open port for free. Homed in the connectivity design.

From moving the store and the broker onto the predecessor's ports tonight, and surveying the registry before moving it. **Issues** - **102** — an address recorded at genesis or at build does not follow the node's ports. Three instances: the controller's store address, its broker address (both took the mesh down; both bridged by hand), and every recorded image reference (found by reading). One category, not three bugs; issue 085 fixed one reader of it. - **103** — a container is not recreated when a file it reads changes. The host rewrote the env files and left the processes with the old port; a restart doesn't help because env is read at create. - **104** — `mesh-host reconcile` applies the genesis bundle — converged — on an adopted node and refuses nothing. Forty-five minutes closed. Operator error, recorded as such, sitting on a design hole. - **105** — the hub is a placement, not a seat; nothing refuses two. - **106** — the vault claims no seat; nothing refuses a second vault. **ADR 0105 — the mesh adopts the predecessor's tunnel in place.** Key, port, range, peers. The peers notice nothing; an enrolling node keeps the address the tunnel held for its key; the mesh's own addresses follow the range. Narrows ADR 0100's non-overlap rule to the case where the found tunnel is left running. Reorders the migration: the hub's tunnel goes first, because it is what lets the other machines join — and it takes the provider's open port for free. Homed in the connectivity design.
jschoubben added 1 commit 2026-09-23 20:50:59 +00:00
Two birth-address outages and a registry that would have been the third; a
container that keeps a stale environment after its file changes; a host command
that applied a converged declaration to an adopted node; the hub and the vault
without seats. And the decision the operator made under it all: the hub adopts
the predecessor's tunnel in place, key and peers and range and port.
jschoubben merged commit 8638ba3a4f into main 2026-09-23 20:54:54 +00:00
jschoubben deleted branch core/issues-102-106-and-tunnel-adr 2026-09-23 20:54:54 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#88