An internal IP in a public document is not routable and still names the subnet, and the example does not need a literal — the check is that a hostname with no listener returns 404, and any node address demonstrates it. Caught by grepping the fresh public history for anything version- or address-shaped, which is a thing worth doing once per repository that changes visibility. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
.loom — what this cluster offers
Six documents in published/, written for somebody who has to
decide something.
What you need in order to do it — manifests, the rebuild guide, the tailnet
reference — is in jeffry/homelab-impl, which is private, because it sits
beside an inventory of versions and image tags. These are what you need in order
to choose, and none of them will send you there.
- Reach something without putting it on the internet — the tailnet path, and the default that will publish you by accident
- Put something on the internet, the way production would — and what to leave out of a route so it stays portable
- Give something a Postgres — operator-run, and the volumes it will not reap
- Get the data back after losing the machine it was on — two halves, and the failure that reported success for a month
- What a volume here can and cannot do — node-local, and cannot grow
- The git host — and the port that is not 22
One thing we need and cannot find: publishing a container image.
If you are wondering what .loom is
Nothing here requires you to know. They are documents in a folder; read the one that matches your question and ignore the rest.
If you are curious: the directory follows a small convention —
loom/bedrock — of which
two parts are used here. published/ is what this repository has handed over
for others to depend on, as opposed to the rest of the repository, which is how
it is run. gaps/ is something we need and cannot find.
There is no adopted copy of that convention in this repository, and that is not an oversight: we made no choices about it worth recording, and a file that carries no delta should not exist.
Each document says only what a reader could not already know, and ends with how to check it is still true. None of them explains Kubernetes, Tailscale or Postgres — that is somebody else's documentation and copying it here would go stale silently.