Routing Woodpecker Pipelines to the Infra VPS Agent
The low-RAM VPS article covered serial security scans and heap caps once Woodpecker stopped OOM-killing builds. The next failure mode was subtler: pipelines competing with Forgejo, Plane, and DefectDojo on the same host for the same few gigabytes of RAM.
Commit c1cef76 added `labels: location: infra-vps` to `.woodpecker.yml` so portfolio builds always land on the infra VPS agent — not because the server is exotic, but because agent affinity is how you keep CI predictable on a dual-VPS platform.
My platform runs on two small VPS instances. The infra VPS hosts Forgejo, Woodpecker server, Plane, DefectDojo, Netdata, and the gRPC tunnel that connects remote agents. The apps VPS runs Traefik and per-app Docker stacks under `/opt/apps` — WearLab today, BioScanCheck migrating next.