Records say what the build does: 0101 names only measured daemons; 0102 adds to lists and keeps what it writes over; 0103 names every held kind, the found-service rule, conflicting found rules, guards, and what of 0100 it replaces; designs 05, 09 and 17 in step; issue 084's diagnosis in its own file

This commit is contained in:
2026-09-22 19:38:16 +02:00
parent ca1f648973
commit c74ea2a4a8
8 changed files with 74 additions and 38 deletions
@@ -1,9 +1,9 @@
---
status: located
opened: 2026-09-22
located-in: [mesh-control internal/overlay, mesh-host internal/apply]
located-in: [mesh-controller internal/overlay, mesh-host internal/apply]
fixed-by:
amended-design:
amended-design: 03-DESIGN/01-to-be/05-the-node-host.md
---
# 084 — Taking the networking module on an adopted node restarts every container on the machine
@@ -56,13 +56,3 @@ and nothing checks for it today.
- Should an adopted node that cannot trust the registry be refused a module that needs to pull?
Or should the refusal come earlier, when the node joins?
## Diagnosis
*2026-09-22.* Worse than reported. The controller's "merge" of the runtime's file merges an
operator's settings into the module's content. The host then writes the result **whole**, so a
machine's own runtime settings, including its data directory, are replaced, not added to.
Measured on a lab machine: the runtime takes a new trusted-registry list on a reload, and a
running container without a restart policy survives it. Decided in
[ADR 0102](../../02-DECISIONS/0102-the-mesh-writes-into-a-shared-file-never-over-it.md): the
runtime's file is written into and the runtime reloaded. The hosts file stays a whole file, held
until networking is taken.
@@ -0,0 +1,10 @@
# 084 — Diagnosis
*2026-09-22.* Worse than reported. The controller's "merge" of the runtime's file merges an
operator's settings into the module's content. The host then writes the result **whole**, so a
machine's own runtime settings, including its data directory, are replaced, not added to.
Measured on a lab machine: the runtime takes a new trusted-registry list on a reload, and a
running container without a restart policy survives it. Decided in
[ADR 0102](../../02-DECISIONS/0102-the-mesh-writes-into-a-shared-file-never-over-it.md): the
runtime's file is written into and the runtime reloaded. The hosts file stays a whole file, held
until networking is taken.