fix(ci): auto-discover reachable Portainer URL from job container #5

Merged
root merged 1 commits from fix/runner-portainer-network into main 2026-07-10 13:22:02 +02:00
Owner

Fix para el error del run #810: 'Failed to connect to 192.168.1.30 port 9000 after 130317 ms'.

El act_runner del QNAP crea un docker bridge efímero por job. Ese bridge no siempre llega a 192.168.1.30:9000 (la qvs0 del NAS).

Cambio

Nuevo Step 0: auto-discover que prueba candidatos (IPs del contenedor + gateways default + secret como fallback) contra /api/status y usa el primero que responda 200. El host alcanzable se reutiliza para DELETE+CREATE y para el smoke-test en :3001.

Validación

Sintaxis YAML + bash -n verificados. Sin cambios en steps 1-2.

Riesgo

Bajo. Si el primer candidato es otra app que escucha en :9000 y responde 200 a /api/status, este flujo la usaría. Pero la única app con ese contrato es Portainer en este NAS. Si en el futuro aparece otro servicio, podemos restringir por la versión del JSON (Portainer o Status).

Refs: run #810 fallido, PR #4 (introdujo el step 3 sin esta red).

Fix para el error del run #810: 'Failed to connect to 192.168.1.30 port 9000 after 130317 ms'. El act_runner del QNAP crea un docker bridge efímero por job. Ese bridge no siempre llega a `192.168.1.30:9000` (la qvs0 del NAS). ## Cambio Nuevo **Step 0: auto-discover** que prueba candidatos (IPs del contenedor + gateways default + secret como fallback) contra `/api/status` y usa el primero que responda 200. El host alcanzable se reutiliza para DELETE+CREATE y para el smoke-test en :3001. ## Validación Sintaxis YAML + bash -n verificados. Sin cambios en steps 1-2. ## Riesgo Bajo. Si el primer candidato es otra app que escucha en :9000 y responde 200 a /api/status, este flujo la usaría. Pero la única app con ese contrato es Portainer en este NAS. Si en el futuro aparece otro servicio, podemos restringir por la versión del JSON (`Portainer` o `Status`). Refs: run #810 fallido, PR #4 (introdujo el step 3 sin esta red).
root added 1 commit 2026-07-10 13:21:55 +02:00
fix(ci): auto-discover reachable Portainer URL from job container
CI/CD Pipeline / Build & Deploy (pull_request) Successful in 21s
06ad8edf18
The act_runner on the QNAP creates an ephemeral docker bridge per job.
That network can't always reach the canonical PORTAINER_URL
(http://192.168.1.30:9000) — first deploy run failed with
'Failed to connect to 192.168.1.30 port 9000 after 130317 ms'.

New step 0 probes several candidate URLs (container's own IPs, default
gateways, then the secret value as fallback) against /api/status and
uses the first one that returns 200. The reachable host is then reused
for the DELETE+CREATE calls and the smoke-test on :3001.
root force-pushed fix/runner-portainer-network from 4715353795 to 06ad8edf18 2026-07-10 13:21:55 +02:00 Compare
root merged commit 856f899448 into main 2026-07-10 13:22:02 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/davidaragon-portfolio#5