Skip to content

feat(health-check): default the ALB health route to Laravel's /up#86

Merged
stevethomas merged 1 commit into
mainfrom
steve/laughing-lamarr-76b648
Jun 4, 2026
Merged

feat(health-check): default the ALB health route to Laravel's /up#86
stevethomas merged 1 commit into
mainfrom
steve/laughing-lamarr-76b648

Conversation

@stevethomas
Copy link
Copy Markdown
Member

Hey, I made a thing! 🥳

Great! Now please answer the following questions to help out your assigned reviewer:

What problems are you solving?

  • The ALB target-group health check defaulted to /health, a route every app had to hand-roll. Flipping the default to /up — Laravel's built-in health route (11+) — means a stock Laravel app is health-checkable out of the box.
  • /up boots the full framework and returns 200 only on a clean boot (500 otherwise), so it still satisfies YOLO's "exercise PHP so a broken boot fails the check" requirement — no static Caddy 200 that would mask a broken boot.

Is there anything the reviewer needs to know to deploy this?

  • The path stays overridable per app via tasks.web.health-check.path — only the default changed.
  • TargetGroup implements SynchronisesConfiguration, so this reaches live target groups on the next yolo sync — it'll ModifyTargetGroup any existing group still on /health over to /up. An already-deployed app that defines /health but not /up would start failing health checks after a sync. Stock Laravel apps (CL included) already ship /up, so no impact there — just eyeball any older app that predates the /up route before syncing it.

Changes

  • TargetGroup::reconcilableHealthCheck() default /health/up (+ rationale comment).
  • Tests: default fixtures → /up; the override test now sets /health so it still proves the manifest override bites.
  • Docs: manifest reference (example + table + prose) and the images/container-contract guide updated, with the prose now explaining the /up boot behaviour and the DiagnosingHealth event, linked to Laravel's health-route docs.

Verification

  • 553 Pest passing · pint clean · phpstan clean · VitePress build clean (no dead links).

🤖 Generated with Claude Code

Flip the target-group health check path default from /health to /up —
Laravel's built-in health route (11+). /up boots the full framework and
returns 200 only on a clean boot (500 otherwise), so it satisfies YOLO's
"exercise PHP so a broken boot still fails the check" requirement without
the app needing a hand-rolled /health route. The path stays overridable
via tasks.web.health-check.path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@stevethomas stevethomas merged commit 9a59214 into main Jun 4, 2026
5 checks passed
@stevethomas stevethomas deleted the steve/laughing-lamarr-76b648 branch June 4, 2026 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant