smartassert/service-status-inspector
Service Status Inspector is a PHP package for checking the availability and health of external services. Use it to verify dependencies are reachable, surface outages early, and help tests and applications respond gracefully when a service goes down.
Architecture fit
smartassert/service-status-inspector is a small, single-purpose PHP library (not a Laravel-native package): it inspects service status/health information and returns value objects. Architecturally it is a leaf dependency — no service provider, no config publication, no framework coupling. That is good for portability but means a Laravel team gets no framework sugar (no facade, no config file, no artisan command); any Laravel integration (health endpoint, scheduler job, queue worker check) must be written and owned by us. Fit is therefore "low friction, low leverage": easy to drop in, but it solves only a narrow slice of the health-check problem.
Integration feasibility
Release 6.0 is a maintenance release with one genuinely material change: PHP 8.2 becomes the minimum supported version (5.0 supported earlier 8.x). The remainder is tooling hygiene — php-cs-fixer formatting, PHPStan bumped to ^1.10, CI now testing against PHP 8.3. No new features, no API changes documented, no deprecations announced. Integration effort is therefore near-zero if we are already on PHP 8.2+; effectively zero code change on our side.
Technical risk
composer update on the 6.x constraint.phpstan ^1.10 is a require-dev concern and should not leak into production installs — worth verifying it is not in require.Key questions
Health/Schedule::ping, or a first-party HTTP check) if the package stalls?Stack fit
Treat this as a utility library, not a framework integration. It slots into the service layer of a Laravel app — call it from a controller, a queued job, or a scheduled command — and returns plain PHP values we then map to a JSON response or a log line. There is no config/ file to publish and no provider to register, so "fit" is a function of our own wrapper code, not the package.
Migration path
"smartassert/service-status-inspector": "^5.0" → "^6.0".php: ^8.2 in composer.json.Compatibility
Sequencing
composer why-not smartassert/service-status-inspector 6.0 across all apps; identify PHP 8.0/8.1 blockers.Maintenance
Ongoing cost is low in absolute terms but concentrated on one maintainer. Pin to ^6.0 (allows 6.x patches, blocks surprise majors) and review the changelog at each 6.x release. Because the library is small, forking is realistic if it goes dormant — factor that into risk appetite rather than into effort estimates.
Support
No vendor support; community/GitHub issues only. Document internally that this is a thin, forkable dependency rather than a supported platform component. Ensure the wrapper code we own is isolated enough that swapping the library for Laravel's native health checks is a one-file change.
Scaling
Negligible runtime footprint — this is not a throughput or scaling concern. The one scaling-adjacent consideration: if the inspector makes outbound calls to check service status, those calls sit on our request/worker path; put them behind a cache or a scheduled job rather than calling per-request.
Failure modes
phpstan/php-cs-fixer end up in production installs; verify with composer install --no-dev in the build image.Ramp-up
Very low: an engineer can read the whole public surface in an hour. The real onboarding cost is not the library but the surrounding decision — what we do with the status result (alerting, readiness endpoint, dashboard). Document that integration pattern once, centrally, so each app does not reinvent it.
How can I help you explore Laravel packages today?