forgejo: record why the runner is on vps2, rather than leaving a contradiction #153
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Jinemi/thermograph#153
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/runner-vps2-decision"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
infra/deploy/forgejo/README.mdsaid, in bold, that a runner must never go on prod or beta. A runner has been registered and running on vps2 since 2026-08-01 (#141). Both cannot stand — an instruction the estate visibly ignores teaches readers to ignore the next one too, which is the same failure mode as the "always-on Swarm-hosted runner" claim that hid the single point of failure for weeks.The original objection is kept, not deleted, because it is correct on its merits:
container.docker_host: automounthands job containers the host's Docker socket, which on vps2 is root over both the prod and beta stacks.What changed is that the alternative proved worse. The desktop was the estate's only registered runner; when it dropped on 2026-07-31, nothing merged, nothing deployed, and the nightly backup did not fire for 21 hours. On a repo where every branch is protected and every change is a PR, one absent runner freezes the whole estate — and the backup hangs off the same path.
The section now records the trade and the bounds actually applied (
capacity: 1,--cpus=2 --memory=4gon job containers,valid_volumes: [], no thermograph network), and states plainly that this is defence against accident, not against a hostile workflow author. Forgejo's database already storedVPS2_SSH_KEY, which is root on that box; what changed is that the material is now reachable by a job rather than only at rest.It also preserves the original advice for the case it was written for: if you are adding capacity rather than redundancy, raise
capacityor use a box that hosts nothing.Documentation only — no behaviour change.