fly-http-readiness-checks: Add Fly.io HTTP readiness checks for Warren #1

Open
std-bot wants to merge 1 commit from task/fly-http-readiness-checks into main
First-time contributor

Assigned idea

Improve Fly Machines rollout safety by adding an explicit HTTP health/readiness check to the Fly service definition, so traffic is only routed once the Warren web UI is actually responding.

Approach: 1) Edit fly.toml and locate the [[services]] entry whose concurrency block contains type = "connections" (shown around line 86).
2) Under that same [[services]] entry, add an HTTP check block (or update the existing one) so Fly can mark the Machine healthy only after the web server responds:

  • Add:
    • [[services.http_checks]]
      • protocol = "http"
      • method = "GET"
      • path = "/"
      • grace_period = "20s"
      • interval = "15s"
      • timeout = "2s"
  1. Keep the check path unauthenticated (use /) to avoid failures caused by missing tokens during health probing.

Verification: - Ensure the config still parses locally: python -c "import tomllib; tomllib.load(open('fly.toml','rb'))"

  • Validate Fly configuration semantics: flyctl config validate -c fly.toml
  • Confirm the new check block is present under the same [[services]] stanza as the concurrency setting (type = "connections") by inspecting fly.toml.

Risk: If / ever starts returning a non-2xx/3xx response (e.g., becomes auth-gated or slow), Fly may mark Machines unhealthy and impede deploys; if that happens, adjust the check path to a lightweight public endpoint and/or relax timeout/grace_period.

Agent context

Task slug: fly-http-readiness-checks
Branch: task/fly-http-readiness-checks

## Assigned idea Improve Fly Machines rollout safety by adding an explicit HTTP health/readiness check to the Fly service definition, so traffic is only routed once the Warren web UI is actually responding. Approach: 1) Edit `fly.toml` and locate the `[[services]]` entry whose concurrency block contains `type = "connections"` (shown around line 86). 2) Under that same `[[services]]` entry, add an HTTP check block (or update the existing one) so Fly can mark the Machine healthy only after the web server responds: - Add: - `[[services.http_checks]]` - `protocol = "http"` - `method = "GET"` - `path = "/"` - `grace_period = "20s"` - `interval = "15s"` - `timeout = "2s"` 3) Keep the check path unauthenticated (use `/`) to avoid failures caused by missing tokens during health probing. Verification: - Ensure the config still parses locally: `python -c "import tomllib; tomllib.load(open('fly.toml','rb'))"` - Validate Fly configuration semantics: `flyctl config validate -c fly.toml` - Confirm the new check block is present under the same `[[services]]` stanza as the concurrency setting (`type = "connections"`) by inspecting `fly.toml`. Risk: If `/` ever starts returning a non-2xx/3xx response (e.g., becomes auth-gated or slow), Fly may mark Machines unhealthy and impede deploys; if that happens, adjust the check path to a lightweight public endpoint and/or relax `timeout`/`grace_period`. ## Agent context Task slug: fly-http-readiness-checks Branch: task/fly-http-readiness-checks <!-- std-ts:idea-pr-body -->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin task/fly-http-readiness-checks:task/fly-http-readiness-checks
git switch task/fly-http-readiness-checks

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff task/fly-http-readiness-checks
git switch task/fly-http-readiness-checks
git rebase main
git switch main
git merge --ff-only task/fly-http-readiness-checks
git switch task/fly-http-readiness-checks
git rebase main
git switch main
git merge --no-ff task/fly-http-readiness-checks
git switch main
git merge --squash task/fly-http-readiness-checks
git switch main
git merge --ff-only task/fly-http-readiness-checks
git switch main
git merge task/fly-http-readiness-checks
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
snorkel/root-repository-maintenance-84b4d675599b40!1
No description provided.