En cola
QUE1
esperando runner
Pipelines de despliegue
Cola de ejecución que consume el runner externo. Sólo entran aprobaciones autorizadas por vos.
En cola
QUE1
esperando runner
Ejecutando
RUN0
reclamados ahora
Exitosos
OK1
deploys verificados
Fallidos
ERR1
requieren revisión
Deploy PachaRooms · villa-norte
deploy-orchestrator · villanorte.pacha.dev
Deploy Turnkey 720 · seguros-johan
deploy-orchestrator · johan.pacha.dev
3 runs · orden FIFO
| Run | Acción | Agente | Estado | Runner | Creado | Duración |
|---|---|---|---|---|---|---|
| b81d5c43 | Deploy PachaRooms · villa-norte | deploy-orchestrator | En cola | — | 25 oct 2026 hace 1 h | — |
| c92e6d54 | Deploy PachaRooms · villa-norte Build 312 falló: no se pudo resolver @pacha/ui. | deploy-orchestrator | Fallido | runner-gh-actions | 23 oct 2026 hace 3 d | 92.4s |
| da3f7e65 | Deploy Turnkey 720 · seguros-johan Release 1.4.0 publicada y verificada. | deploy-orchestrator | Exitoso | runner-gh-actions | 22 oct 2026 hace 3 d | 48.2s |
polling · bearer token
El runner vive fuera de Cloudflare (GitHub Actions, VPS, tu máquina). Hace polling de la cola, ejecuta el job y reporta el resultado. Sin token válido no puede reclamar nada, y todo POST debe declarar Content-Type: application/json (guarda CSRF de Astro).
1 · reclamar trabajo
curl -sX POST $HUB/api/runs/claim \
-H "Authorization: Bearer $PACHA_RUNNER_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Runner-Id: gh-actions"
# 200 → { run: {...} }
# 204 → cola vacía 2 · reportar resultado
curl -sX POST $HUB/api/runs/$RUN_ID/complete \
-H "Authorization: Bearer $PACHA_RUNNER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ok":true,"durationMs":48211}'
# 200 → run cerrado
# 409 → ya estaba cerrado estado del secreto
PACHA_RUNNER_TOKEN · falta
Local: .dev.vars (copiá
.dev.vars.example). Producción: variable de entorno del
proyecto en Cloudflare Pages.
invariante
Un run sólo puede nacer de una aprobación approved. Rechazar cierra el paso: no hay forma de encolar trabajo sin tu click. El claim es atómico, así que dos runners nunca ejecutan el mismo job.