From df4a3538c3decbc7024fca9ddad4ae1db1dc1f85 Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 27 Sep 2026 00:07:42 +0200 Subject: [PATCH] =?UTF-8?q?0117=20review:=20a=20holder's=20service=20decla?= =?UTF-8?q?res=20no=20state=20=E2=80=94=20the=20manager's=20lifecycle=20is?= =?UTF-8?q?=20the=20machine's;=20a=20start-only=20setting's=20gap=20on=20a?= =?UTF-8?q?=20fresh=20machine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02-DECISIONS/0117-a-machines-uplink-is-a-seat.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/02-DECISIONS/0117-a-machines-uplink-is-a-seat.md b/02-DECISIONS/0117-a-machines-uplink-is-a-seat.md index 79a2f57..7fbc5da 100644 --- a/02-DECISIONS/0117-a-machines-uplink-is-a-seat.md +++ b/02-DECISIONS/0117-a-machines-uplink-is-a-seat.md @@ -70,7 +70,11 @@ with nothing more. Assigning a second is refused, naming the first. **What a holder declares** — only what keeps the manager and the mesh from contradicting each other: -- the manager's package, and its service running and enabled at boot; +- the manager's package, present — and its service **with no state**: the manager's lifecycle is + the machine's. The mesh never starts, stops, enables or disables it, because stopping it takes + the link down, and a holder unassigned by mistake — or the wrong holder assigned — must not be + able to do that, nor start a second manager beside the one the machine runs. The service is + declared only so a change to the holder's settings reaches a *running* manager; - the manager's own configuration that leaves the resolver file to the mesh (`dns=none` for NetworkManager, `nohook resolv.conf` for dhcpcd, and nothing for systemd-networkd, which never writes the resolver file); @@ -103,6 +107,10 @@ them, and the module's `access`, if it needs one, is read-only. adopted node the holder's drop-in arrives beside the predecessor's; both say the same thing, and the predecessor's is retired by hand after the take, like any other file the mesh replaced under another name. +- A setting a manager reads only at its start is not in force until then. On an adopted machine + the predecessor's identical line normally already is; on a machine that was not adopted, + dhcpcd's resolver hook keeps rewriting the resolver file until dhcpcd next starts, and the + operator restarts it once, in a window of their choosing. - A machine running two managers is found at assignment: the second holder is refused, and the operator decides which manager the machine keeps before either module is taken. - Workstations keep joining networks the way they always have. Under NetworkManager and