vps: haproxy unit waits for a default route #303
No reviewers
Labels
No labels
audit-work
bug
docs
general-admin
major-upgrade
needs-vps-sync
new-service
on-hold
outside-work
post-podman
renovate
upstream
vps
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mysticalsoap/docker!303
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/haproxy-boot-order"
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?
Problem
After the first reboot of the rebuilt VPS, WireGuard came up and
haproxy.servicereported active with pasta holding 80/443/27341, but every public request got a TCP reset and nothing arrived at the home end (tunnel receive counter flat during a request; home HAProxy log empty). The VPS host itself could connect to10.77.0.2:8443. pasta derives the container's addresses and routes from the host's default-route interface once, at start, and the lingering relay user's manager ran it before the host had that route, so the container came up with link-local addressing: published ports accepted connections, backend connects over the tunnel failed. A healthy-looking full outage.Fix
ExecStartPreloop in the Quadlet unit that waits for an IPv4 default route before pasta starts. A user unit cannot order after the system'snetwork-online.target, so a wait is the only ordering available. The unit sits in activating during the wait rather than failing, so the start-limit lines from #301 are dropped.Verification
sudo systemctl --user -M relay@ restart haproxyon the broken box restored service without any other change, confirming the start-time state was the fault.just vps-deploy, then a VPS reboot at 04:13:33 UTC: public HTTPS answered 200 through the VPS at 04:15:24 with no intervention; port 80 redirects; all three ports bound.