homelab, week 32: provisioning became code, and the fleet moved out

·2026-W32 ·2 min read

homelab weeknotesansiblemonitoring

Infrastructure week, of the unglamorous and satisfying kind.

Provisioning is Ansible now — and, more to the point, it has been applied to the actual host rather than written and left aspirational. The distinction matters: half-finished infrastructure-as-code is worse than none, because it tells you the machine is in a state it isn’t.

Monitoring exists, bound to the private network only, with nothing exposed publicly. The agents run natively rather than in containers, which was a deliberate choice and is written down as one. Two things learned in passing and recorded: how much drive health you can see depends on the enclosure the drive is in, not just the drive; and volume identity has to be normalised per platform or you end up with the same disk under two names.

The fleet configuration moved to its own repo. It had grown past being a subdirectory of the edge config — different lifecycle, different blast radius, different reasons to change. Splitting it was overdue.

Routing changes: the Minecraft server now accepts the Java edition alongside Bedrock, and a new subdomain went up behind Basic auth, because “not finished” and “not on the public internet” should be the same state. Also removed a redundant proxy header that had been quietly duplicating what the edge already sets.

Where this came from

Work between 3 and 6 August 2026 in the homelab-infra repository — about 11 commits, plus the decision records on native agents, volume identity and drive visibility, and the split-out of the fleet repo. Issue #14.

Specific hostnames, addresses and topology are deliberately absent. This entry describes what changed, not where anything lives.