mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 04:36:40 +00:00
18abce480 added kmod so the data-root setup can run its one explicit `modprobe zfs`. It also handed a working loader to the four modprobe@ instances systemd pulls at every node boot - configfs, drm, efi_pstore and fuse - which until now failed on the missing binary, as every node's journal in rescue-diagnostics-workspace-debian-bookworm shows. They would have started loading host modules from a privileged container, on every node of every swarm job in all five distros. Masking the template keeps them exactly as dead as they are today and leaves the loader available to the caller that needs it, so the behaviour change of 18abce480 is confined to the one site it was meant for. It sits with the existing masks for systemd-resolved and systemd-udevd. The image was not built; that the mask covers every instance of the template is read from systemd's behaviour, not measured. The next run shows it: the units report masked instead of failed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Compose Configuration 🧩
This directory holds the static configuration assets consumed by the top-level compose.yml of the local development and CI testing stack.
Scope 📋
- The directory MUST contain only files that are bind-mounted into a
service defined in
compose.yml. - The directory MUST NOT host application configuration that belongs to
an Ansible role. Per-role compose payloads live under
roles/<role>/templates/. - The directory MUST NOT host workflow scripts, test fixtures, or
build helpers. Those belong under
scripts/ortests/.
Layout 🗂️
Each compose service that needs static configuration owns a
sub-directory whose name matches the service. New service-specific
config MUST go into the matching sub-directory rather than at the
compose/ root.
For the rules that govern compose.yml itself (env-variable contract,
profile gating, resource caps), see
compose.yml.md.