Accept ADRs 0164-0166 and cite them in to-be 42 (issue 398) #293

Merged
mesh-admin merged 1 commits from decisions/accept-0164-0166 into main 2026-10-10 18:04:26 +00:00
4 changed files with 22 additions and 6 deletions
@@ -1,6 +1,6 @@
--- ---
topic: what runs on it topic: what runs on it
status: proposed status: accepted
date: 2026-10-01 date: 2026-10-01
deciders: jochen deciders: jochen
reconstructed: false reconstructed: false
@@ -9,6 +9,10 @@ extends: 02-DECISIONS/0046-a-module-configuration-is-its-assignments-not-its-man
# 164. A setting is declared with its default, its meaning and what changing it costs # 164. A setting is declared with its default, its meaning and what changing it costs
> **Accepted 2026-10-10, partly built.** The default half is live in ADR 0262's spelling. The type, the
> meaning, the file a setting lands in, its cost and the refusal of an undeclared key are not built yet;
> tracked by issue 398.
> **The mechanism changed — 2026-10-08, by [ADR 0262](0262-a-preference-has-a-default-in-its-manifest-and-the-operators-own-value-has-none.md).** The default half of this record is > **The mechanism changed — 2026-10-08, by [ADR 0262](0262-a-preference-has-a-default-in-its-manifest-and-the-operators-own-value-has-none.md).** The default half of this record is
> built, in its own spelling: a manifest's `settings` gives a preference its `default` and `why`, and fills > built, in its own spelling: a manifest's `settings` gives a preference its `default` and `why`, and fills
> `${setting:<key>}` with it. The rest stays proposed here: the type, the meaning, the target file, the cost > `${setting:<key>}` with it. The rest stays proposed here: the type, the meaning, the target file, the cost
@@ -1,6 +1,6 @@
--- ---
topic: what runs on it topic: what runs on it
status: proposed status: accepted
date: 2026-10-01 date: 2026-10-01
deciders: jochen deciders: jochen
reconstructed: false reconstructed: false
@@ -9,6 +9,9 @@ extends: 02-DECISIONS/0161-what-deserves-a-seat.md
# 165. `container-runtime` is what a machine can run; that a runtime is running is its holder's health # 165. `container-runtime` is what a machine can run; that a runtime is running is its holder's health
> **Accepted 2026-10-10, not yet built.** The capability is still detected by asking a runtime, and a
> container is not yet refused on a machine whose runtime seat is unheld; tracked by issue 398.
## Context ## Context
A capability is a requirement a module places on a machine, detected by the host and renewed with A capability is a requirement a module places on a machine, detected by the host and renewed with
@@ -1,6 +1,6 @@
--- ---
topic: what runs on it topic: what runs on it
status: proposed status: accepted
date: 2026-10-01 date: 2026-10-01
deciders: jochen deciders: jochen
reconstructed: false reconstructed: false
@@ -9,6 +9,10 @@ extends: 02-DECISIONS/0161-what-deserves-a-seat.md
# 166. The container runtime is a node seat, and the host creates containers through its holder # 166. The container runtime is a node seat, and the host creates containers through its holder
> **Accepted 2026-10-10, partly built.** The seat exists and `docker` holds it on every machine, and the
> runtime's file is that module's alone (issue 190). The seat's verbs and events, and the node-engine
> creating containers through the holder's socket, are not built yet; tracked by issue 398.
## Context ## Context
Every container the mesh runs on a machine is created by the host, which looks for a runtime Every container the mesh runs on a machine is created by the host, which looks for a runtime
@@ -2,7 +2,7 @@
layer: to-be layer: to-be
status: in-progress status: in-progress
code: [mesh-catalog, mesh-controller, mesh-host] code: [mesh-catalog, mesh-controller, mesh-host]
updated: 2026-10-08 updated: 2026-10-10
decisions: decisions:
- 02-DECISIONS/0215-the-machines-message-bus-is-a-node-seat-and-is-never-restarted-live.md - 02-DECISIONS/0215-the-machines-message-bus-is-a-node-seat-and-is-never-restarted-live.md
- 02-DECISIONS/0173-the-operators-machine-is-the-meshs-and-a-module-is-what-it-declares.md - 02-DECISIONS/0173-the-operators-machine-is-the-meshs-and-a-module-is-what-it-declares.md
@@ -21,6 +21,9 @@ decisions:
- 02-DECISIONS/0210-a-tools-configuration-is-its-seat-holders-and-every-other-module-extends-it-through-the-seat.md - 02-DECISIONS/0210-a-tools-configuration-is-its-seat-holders-and-every-other-module-extends-it-through-the-seat.md
- 02-DECISIONS/0255-the-bar-takes-blocks-as-data-from-the-module-that-knows-the-hardware-placed-where-the-machine-has-it.md - 02-DECISIONS/0255-the-bar-takes-blocks-as-data-from-the-module-that-knows-the-hardware-placed-where-the-machine-has-it.md
- 02-DECISIONS/0260-a-bar-block-shows-a-value-its-module-keeps-on-the-bus-and-no-module-reads-anothers-files.md - 02-DECISIONS/0260-a-bar-block-shows-a-value-its-module-keeps-on-the-bus-and-no-module-reads-anothers-files.md
- 02-DECISIONS/0164-a-setting-is-declared-with-its-default-its-meaning-and-what-changing-it-costs.md
- 02-DECISIONS/0165-container-runtime-is-what-a-machine-can-run-and-a-running-runtime-is-its-holders-health.md
- 02-DECISIONS/0166-the-container-runtime-is-a-node-seat-and-the-host-creates-containers-through-its-holder.md
--- ---
# 42. The machines' modules, in order # 42. The machines' modules, in order
@@ -79,8 +82,10 @@ every module that declares a service, a package or a container depends on them b
They go on every machine before the rest, and once they have, an unmet dependency is refused rather They go on every machine before the rest, and once they have, an unmet dependency is refused rather
than reported. than reported.
`kernel` is last because a mistake in it costs a boot. `docker` stays a module without the runtime seat `kernel` is last because a mistake in it costs a boot. `docker` holds the runtime seat
until ADRs 0165 and 0166 are accepted. ([ADR 0166](../../02-DECISIONS/0166-the-container-runtime-is-a-node-seat-and-the-host-creates-containers-through-its-holder.md)), with its settings declared as
[ADR 0164](../../02-DECISIONS/0164-a-setting-is-declared-with-its-default-its-meaning-and-what-changing-it-costs.md) decides and the capability detected as
[ADR 0165](../../02-DECISIONS/0165-container-runtime-is-what-a-machine-can-run-and-a-running-runtime-is-its-holders-health.md) decides; what of the three is not built yet is tracked by issue 398.
**Added 2026-10-04.** Two more modules for every machine: **Added 2026-10-04.** Two more modules for every machine:
- `power` holds `node-power` ([ADR 0211](../../02-DECISIONS/0211-a-machines-power-is-a-node-seat-its-moments-take-contributions-and-its-states-are-events.md)). Other modules contribute code for - `power` holds `node-power` ([ADR 0211](../../02-DECISIONS/0211-a-machines-power-is-a-node-seat-its-moments-take-contributions-and-its-states-are-events.md)). Other modules contribute code for