Adds the-uplink, a node-scoped seat in the closed set (ADR 0110), held by one module per network manager (networkmanager, systemd-networkd, dhcpcd).
Why: adopting the first workstations showed the mesh's resolver depends on the predecessor's dns=none / nohook resolv.conf — declared by nothing — the private network's interface is exposed to the manager, and one machine runs two managers at once, undetected.
Decided: a holder declares the manager's package + service and the settings that keep it off what the mesh owns (resolver file, mesh0); it is reloaded, never restarted (a restart drops the mesh's own channel); a manager that cannot reload takes the setting at its next start (measured: NM 1.58 and networkd/systemd 261 CanReload=yes, dhcpcd 10.3 CanReload=no). It never declares links, addresses, profiles, wireless networks or credentials — the operator's (ADR 0051 sense).
Status: accepted (operator). Implemented by mesh-controller feat/the-uplink-seat-and-the-hosts-region (the seat) and mesh-catalog feat/the-uplink-modules (the three modules).
Adds `the-uplink`, a node-scoped seat in the closed set (ADR 0110), held by one module per network manager (networkmanager, systemd-networkd, dhcpcd).
**Why:** adopting the first workstations showed the mesh's resolver depends on the predecessor's `dns=none` / `nohook resolv.conf` — declared by nothing — the private network's interface is exposed to the manager, and one machine runs two managers at once, undetected.
**Decided:** a holder declares the manager's package + service and the settings that keep it off what the mesh owns (resolver file, `mesh0`); it is reloaded, never restarted (a restart drops the mesh's own channel); a manager that cannot reload takes the setting at its next start (measured: NM 1.58 and networkd/systemd 261 CanReload=yes, dhcpcd 10.3 CanReload=no). It never declares links, addresses, profiles, wireless networks or credentials — the operator's (ADR 0051 sense).
Status: accepted (operator). Implemented by mesh-controller `feat/the-uplink-seat-and-the-hosts-region` (the seat) and mesh-catalog `feat/the-uplink-modules` (the three modules).
`00-META/checks/index.py` current, `records.py` passes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds
the-uplink, a node-scoped seat in the closed set (ADR 0110), held by one module per network manager (networkmanager, systemd-networkd, dhcpcd).Why: adopting the first workstations showed the mesh's resolver depends on the predecessor's
dns=none/nohook resolv.conf— declared by nothing — the private network's interface is exposed to the manager, and one machine runs two managers at once, undetected.Decided: a holder declares the manager's package + service and the settings that keep it off what the mesh owns (resolver file,
mesh0); it is reloaded, never restarted (a restart drops the mesh's own channel); a manager that cannot reload takes the setting at its next start (measured: NM 1.58 and networkd/systemd 261 CanReload=yes, dhcpcd 10.3 CanReload=no). It never declares links, addresses, profiles, wireless networks or credentials — the operator's (ADR 0051 sense).Status: accepted (operator). Implemented by mesh-controller
feat/the-uplink-seat-and-the-hosts-region(the seat) and mesh-catalogfeat/the-uplink-modules(the three modules).00-META/checks/index.pycurrent,records.pypasses.