Issue 213: what the container gives it, measured

This commit is contained in:
jochen
2026-10-03 21:42:22 +02:00
parent e36b1a9e9c
commit 216faec69e
@@ -31,8 +31,9 @@ The controller is the one piece of the mesh's own Go code still shipped as an im
§1 says a module's own code is bundles, never an image, and §3 that a bundle that is a service is a §1 says a module's own code is bundles, never an image, and §3 that a bundle that is a service is a
`process` the host runs. The controller breaks the rule it is the mechanism of: the registration `process` the host runs. The controller breaks the rule it is the mechanism of: the registration
gate that will refuse an image of a module's own code has to exempt the controller, or refuse it. gate that will refuse an image of a module's own code has to exempt the controller, or refuse it.
It also costs what an image costs — a container runtime on its machine as a hard requirement, a It also costs what an image costs — a container runtime on its machine as a hard requirement,
container network between it and the bus and store, an image rebuild for a binary change — and eight mounts standing in for files a process would simply read, an image rebuild for a binary
change — and
every restart of it is a container recreation, which is how the controller restarts in the middle every restart of it is a container recreation, which is how the controller restarts in the middle
of a plan today. of a plan today.
@@ -41,8 +42,9 @@ of a plan today.
- The controller's module declares a Go bundle (`system`, `binary`) and a `process` running it - The controller's module declares a Go bundle (`system`, `binary`) and a `process` running it
(`./<binary>`, mesh-host #81), with its credential and store connection as files and words, not (`./<binary>`, mesh-host #81), with its credential and store connection as files and words, not
container mounts and a container network name. container mounts and a container network name.
- What the container gives it now that a process would not: its view of the store and the bus by - What the container gives it now that a process would not: it runs on the host's network already,
container name, its own user, any files it writes. Each named and replaced. as an unprivileged user (65534), with eight mounts. Each mount named and replaced by a path, and
the user by an account the host declares.
- The handover: the controller restarting itself as a process, on the one machine that runs it, - The handover: the controller restarting itself as a process, on the one machine that runs it,
without a window where nothing answers the mesh's verbs. without a window where nothing answers the mesh's verbs.