krymosoftware/php-k8s
A PHP package for integrating Kubernetes into your applications, providing convenient access to Kubernetes APIs for querying clusters, managing resources, and automating common cluster operations from PHP code.
Architecture fit
php-k8s is a Kubernetes API client, not an application framework component. The Laravel binding that previously shipped with it (service provider + facade + config/k8s.php publishing) was a thin convenience layer over the core client.Integration feasibility
ratchet/pawl bump is the only change that touches runtime behavior of long-lived connections (exec, attach, port-forward, log streaming). Treat it as a behavioral change to validate, not a routine dependency refresh.Technical risk
^3.0 will pull this on the next composer update and can fail at bootstrap with a missing provider/facade class. Pin to 3.8.* immediately, before anything else in this assessment is actioned.composer.json require.php constraint rather than inferring it.ratchet/pawl update is transitive and may pull newer react/* versions, which can conflict with other WebSocket consumers in the same application and can change reconnect/backoff and error-surfacing behavior.KubernetesCluster functions" implies signature work. If parameter names changed rather than merely becoming addressable, callers using named arguments break. Positional callers are likely safe. Audit actual call sites.->diffForHumans() on null will fatal.Key questions
illuminate/support removed from require, or only the provider class? The former reduces dependency-conflict surface; the latter leaves dead weight.pawl/react versions are now pinned, and do they conflict with our existing WebSocket or queue-worker dependencies?Stack fit
Migration path
"krymo/php-k8s": "3.8.*" (or "^3.8 <3.9") to every affected composer.json and land it before any other work. This is the only urgent step.config/app.php, published config/k8s.php, and any KubernetesCluster calls using named arguments. Produce a per-service list.Compatibility
php-k8s transitively with a ^3 constraint — those will float to 3.9 independently of our pins.pawl/react resolution against any existing WebSocket or event-loop usage in the same application.require block.Sequencing Pin → inventory → PHP floor upgrade → build internal adapter with tests → pilot on one low-risk service → roll out → remove facade references → publish internal docs and a version-watch runbook. Do not bundle the PHP upgrade and the package bump in a single change; the semver surprise already makes attribution harder than it should be.
Maintenance
Support
Scaling
pawl hold event-loop resources; the dependency bump may shift memory or reconnect behavior under many concurrent sessions. Load-test if we run these at volume.Failure modes
composer update — missing provider/facade class at boot. Highest-probability failure; mitigated by pinning.pawl/react bump — exec and log streaming degrade or reconnect-loop in production.KubernetesCluster calls if parameter names were altered alongside the named-parameter support.Ramp-up
How can I help you explore Laravel packages today?