fix(n8n): close the startup-splash race in the owner bootstrap

On a fresh dedicated database (variant 1) the owner probe hit n8n's startup splash 22s after force-recreate: HTTP 200 text/html, which the probe read as 'owner exists', so owner setup was skipped vacuously and Playwright met the first-run wizard instead of the login form. Wait on /healthz/readiness (503 until the DB is connected and migrations ran) before bootstrapping, and accept only JSON responses in the owner probe - the splash is text/html, so the until-gate turns the previously inert retries into real ones and fails loudly if the splash persists.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
kevinveenbirkenbachandClaude Opus 4.8 committed 2026-07-22 20:50:17 +02:00
1 parent 405de27f8e
commit 1834987066
2 files changed
+2 -1

No files matched your search

+1 -1
View File
@@ -30,7 +30,7 @@
- name: "🔎 Wait for n8n health check to pass"
uri_retry:
url: "{{ N8N_INTERNAL_API_URL }}/healthz"
url: "{{ N8N_INTERNAL_API_URL }}/healthz/readiness"
method: GET
status_code: 200
return_content: false
+1
View File
@@ -26,6 +26,7 @@
status_code: [200, 401, 403]
return_content: false
register: n8n_owner_probe
until: "'json' in (n8n_owner_probe.content_type | default(''))"
retries: 4
delay: 30