Repository navigation
fix(installer): keep retrying readiness while the published port resets - #237
Merged
Merged
Conversation
On a fresh Ubuntu VM the Ubuntu/VBox installer aborted at its backend readiness check. Right after `docker compose up -d`, Docker's published port accepts connections and resets them until the backend listens (about 0.3 s later). curl reports that as exit 56, which neither `--retry` nor `--retry-connrefused` retries, so the check gave up after one attempt and the installation stopped before TLS and Nginx. Both readiness checks now also pass `--retry-all-errors` (curl 7.71+; Ubuntu 22.04 ships 7.81). The regression test runs the installer's own curl options against a server that resets the first connection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
On a fresh Ubuntu 26.04 VM,
scripts/install-ubuntu-vbox.shaborted with "Der Backenddienst wurde gestartet, meldet aber keine Readiness".Right after
docker compose up -d, Docker's published port127.0.0.1:3000accepts connections and resets them until the backend listens (about 0.3 s later). curl reports that as exit 56, which neither--retrynor--retry-connrefusedretries. The check gave up after one attempt, and the installation stopped before TLS and Nginx.Reproduced on the VM 3/3 with the installer's curl options against a restarted container; 3/3 succeeded with
--retry-all-errors. CI did not catch it because the deployment jobs use the renderer, not the installer script.Change
--retry-all-errors. Nothing else in the installer or deployment changes.--retry-all-errorsneeds curl ≥ 7.71. Ubuntu 22.04 ships 7.81, 24.04 ships 8.5, 26.04 ships 8.18. The installer already requiresdocker-compose-v2from these releases, so no documentation change is needed.Regression test
tests/server/ubuntu-vbox-installer-readiness.test.tsreads the curl options of both readiness checks from the installer and runs them against a TCP server that resets the first connection (resetAndDestroy, a real RST).{"status":"ready"}main)A further case documents that connection-refused retries alone give up after one reset.
Verification
ubuntu-vbox-capacity-defaults,scripts/test-install-ubuntu-vbox.sh,bash -nandshellcheckall pass.npm run check, ESLint,check:docsandgit diff --checkpass../run-tests.shpasses 11/11: Docker 32/32, E2E 27/27, Sonar gate PASSED with 0 violations.🤖 Generated with Claude Code