mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
Docker hands out the lowest free address, so a node attached without one lands in the same band where the cache services pin themselves and can take an address its owner then cannot claim. That happened: a node held the registry-cache address and every swarm cycle died at the image pull. Each node now takes a fixed address, offset per instance because worktrees share the primary's cache network while clearing only their own cluster, so a surviving cluster elsewhere no longer collides with a fresh one. A failed attach is classified rather than swallowed. The nodes already carry extra_hosts pointing at the cache addresses, so a node that silently fails to attach reaches neither apt nor the registry and reports it as network flakiness. Only the markers the docker_network_noop filter already treats as benign are tolerated; anything else stops the bootstrap. The subnet is asserted rather than assumed, since the address arithmetic only holds for a x.y.z.0/24. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Script Collection
This directory contains automation scripts used across the project.
-
system/ contains host and system-facing helpers.
-
container/ contains helpers that run inside the local container.
-
github/ contains GitHub workflow helper scripts.
-
For the canonical Make target index, see make.md.
-
🛠️ Organize operational helpers for development, CI, release, and maintenance
-
🧭 Separate responsibilities into focused subdirectories with clear scope
-
📚 Keep script-based workflows discoverable and easier to navigate
The scope of this folder is script organization at the repository level. Detailed responsibilities belong in the README files of the respective subdirectories.