Skip to content
Commit 0616fb2f authored by Stefy Lanza (nextime / spora )'s avatar Stefy Lanza (nextime / spora )
Browse files

runpod: give a booting pod a voice, and stop timing out on a cold image pull



The port a pod exposes appears only AFTER its image is pulled, so the 300s
budget had to cover the download — it was written assuming the container was
already there. The same 7.3 GB image took 133s on a machine with the layers
cached and failed repeatedly at 300s on cold ones, and each failure rented a
fresh machine and paid for the whole pull again, three times. 900s, overridable
per model; being wrong now costs six cents instead of three pods.

RunPod publishes no pod-log API: the REST OpenAPI spec lists 23 routes and none
serve logs, and GraphQL refuses introspection. Every attempt returning HTTP 400
was code guessing at URLs that never existed. So the pod reports on itself —
boot.sh is the entrypoint and logs timestamped phases from the first instant the
container exists (including the seed list, which is where "not available. Use
one of: " would have been caught in one line), and /boot serves that record plus
the app's own phases. A failed boot now asks the pod before falling back to a
console link a human has to open.

Nothing covers the pull window — no code of ours is running yet — so wait_ready
reports status and uptime every 60s instead of going silent for minutes.

Co-Authored-By: default avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0182DhR1eFNPQyGmDrpHbedY
parent 36f53303
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment