Commit 598ce98
committed
fix(deploy): pass --network=host to podman build (netavark breaks npm sockets)
ROOT CAUSE FOUND. Tested tucker→registry.npmjs.org from the host
directly:
curl -sS https://registry.npmjs.org/react → 200 in 0.37s, 6.6 MB
curl -sS https://registry.npmjs.org/@rolldown/binding-...tgz → 200 in 0.37s, 7.8 MB
10 parallel manifest fetches → all 200 OK
Host network is FINE. The EIDLETIMEOUT failures across 8 consecutive
deploy attempts were happening INSIDE the build container, not on
tucker's network. Podman's rootless netavark networking mangles TCP
keep-alives in a way that breaks npm's HTTP-agent connection pool —
the same registry, same network, same package set, but routed
through netavark, idle-times-out at ~60s with no progress.
Fix: pass `--network=host` to both `podman build` invocations in
scripts/deploy-tucker.sh. Build containers now use the host's
network stack directly (same as how the runtime pushflip pod
already runs `Network=host` per its quadlet) — bypassing netavark
entirely for the install phase.
Why we didn't hit this on the original 5.0.7 deploy: pnpm install's
network behavior is different (different HTTP agent, different
connection lifetimes). pnpm's deadlock surfaced as a libuv-worker
deadlock at ~734 packages. npm's deadlock surfaces as
EIDLETIMEOUT. Different bug, same root cause area (rootless
container networking).
This fix should also let us drop the retry loop (since the
underlying TCP issue is gone), but keeping it as belt-and-suspenders
for now — it costs nothing on success and provides resilience
against transient registry hiccups.1 parent dfc0024 commit 598ce98
1 file changed
Lines changed: 10 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
134 | 142 | | |
135 | 143 | | |
| 144 | + | |
136 | 145 | | |
137 | 146 | | |
138 | 147 | | |
| |||
143 | 152 | | |
144 | 153 | | |
145 | 154 | | |
146 | | - | |
| 155 | + | |
147 | 156 | | |
148 | 157 | | |
149 | 158 | | |
| |||
0 commit comments