ukfast/laravel-health-check
Laravel health check package that exposes a configurable endpoint for monitoring app health. Run checks on database, cache, queue, storage, Redis and custom services, returning JSON output and proper HTTP status codes for load balancers, Kubernetes probes and uptime monitors.
Architecture fit. ans-group/laravel-health-check is an infrastructure-adjacent library: it exposes a health endpoint consumed by load balancers, Kubernetes liveness/readiness probes, uptime monitors, and deploy gates. That places it in the operational control plane rather than the product code path — low architectural surface area, but high blast radius if it misbehaves. v3.0.0 does not change that shape; it is a platform-support release only (no new checks, no new endpoint features, no configuration additions called out). Fit with a standard Laravel service architecture is high and the integration is shallow.
Compatibility matrix implied by v3.0.0:
| Dimension | v3.0.0 supported | Explicitly dropped |
|---|---|---|
| Laravel | 12.x, 13.x | ≤ 11.x |
| PHP | 8.2 – 8.5 | ≤ 8.1 |
Note the coupling: the PHP floor (8.2) is derived from Laravel 12's own floor, so the package is now a strict mirror of Laravel's supported-version policy ("only versions with bug/security fixes"). That is a deliberate policy choice by the maintainer and is the single most important fact in this release.
Integration feasibility. Straightforward: Composer dependency, config publish, optional route/command registration. No database migrations, no queue workers, no external service contracts, no auth surface changes described. The realistic effort is dominated not by the package but by the platform upgrade it now requires — PHP 8.2+ and Laravel 12+ must already be true, or the package upgrade is blocked.
Technical risk.
composer.json can still alter autoloading, service-provider registration, or default config. Confirm with a diff, not a changelog.Key questions.
config:cache in a read-only container filesystem?Stack fit. Suitable for any Laravel 12/13 service using Composer and a standard config/ + routes/ layout. It is a natural fit for containerised workloads behind an orchestrator probe, and for legacy VM/ALB targets using HTTP health checks. It is not a fit for applications that must remain on Laravel 10/11 for vendor or PHP-extension reasons — for those, stay pinned to v2.x and accept the maintenance-tail risk explicitly.
Migration path.
^3.0 only after the service has run v3 in staging with real probe traffic. Prefer an explicit constraint during rollout.Compatibility and sequencing notes. Sequencing matters most in the other direction: if the platform roadmap already targets Laravel 12/13 (likely, given the annual Laravel cadence), taking v3 early is cheap and taking it late is expensive — the package will drift further ahead of your estate. Conversely, if the estate is mid-migration, the health-check package should be treated as a trailing dependency, bumped after the framework migration completes, never as the driver.
Dependency-graph caution. Check whether any other package in the graph already forces Laravel 12+. If so, v3.0.0 is a free upgrade and this is a non-event. If the health-check package is the first thing demanding L12, it is a leading indicator that the estate is falling behind the supported window — escalate that to the platform roadmap rather than absorbing it locally.
Maintenance. Ongoing cost is low but predictable and recurring. Given the maintainer's stated policy of tracking only Laravel versions with active bug/security fixes, expect a major release of this package roughly annually, synchronised to Laravel majors. Budget a recurring dependency-bump task rather than a one-off. There is no database, no state, and no persistent data to migrate — the operational surface is config plus a route.
Support. Two risks to socialise: (a) the v2.x support window is unpublished — get a commitment or plan to be off it; (b) the package is a single-vendor, small-maintainer dependency in the probe path. Mitigation is cheap: the health check is easy to reimplement or swap (e.g. to an in-house controller or an alternative package) if the vendor stalls. Ensure the team knows the endpoint is replaceable, so a stalled upstream is a day of work, not an incident.
Scaling. Two distinct scaling considerations:
Failure modes to instrument.
storage/ causing a disk/cache check to report unhealthy.Ramp-up. Low engineering ramp: half a day to a day for a mid-level engineer to wire up, verify the response contract, and document the endpoint. The real onboarding is organisational: the platform/on-call team must own three policies — (1) which checks are enabled per environment, (2) how probes are configured to avoid cascading failure, and (3) the annual Laravel-major-aligned dependency bump. Assign that ownership explicitly; unowned probe configuration is how health checks turn into outage amplifiers.
Recommendation. Adopt v3.0.0 for all services already on Laravel 12+/PHP 8.2+, gated by a staging soak and a before/after response-contract diff. Treat Laravel ≤ 11 services as tracked exceptions on v2.x with a dated remediation plan, and press the maintainer for a published v2.x EOL. Do not treat this release as a functional change — treat it as a platform-support signal and a forcing function for the framework upgrade roadmap.
How can I help you explore Laravel packages today?