kismia/centrifugo-bundle
Symfony bundle for integrating the Centrifugo real-time messaging server, providing services and configuration to publish events and enable websocket-based live updates in PHP applications.
Architecture fit
Bundle subclass registered through Symfony's kernel, a DependencyInjection extension with a config tree, and services auto-wired via the Symfony container. None of that lifecycle exists in Laravel, so it cannot be composer required and used as-is in a Laravel application./api/publish, /api/broadcast, /api/presence, /api/history). That is a thin HTTP client plus a token signer — roughly a few hundred lines. The bundle is mostly DI plumbing around that.Integration feasibility
CentrifugoService bound in a Laravel provider.symfony/http-kernel, symfony/dependency-injection, and symfony/config. Laravel already depends on some Symfony components, but not the bundle/kernel contracts, so you would be adding framework surface area for no benefit.Technical risk
api_key-style auth vs. token-based API auth, JWT claim names, info/b64info handling). A bundle of this age may target an older Centrifugo. Verify before committing.Key questions
composer.json PHP/Symfony constraints, and is the license permissive (MIT)?Stack fit
CentrifugoClient (publish/broadcast/presence/history) and a CentrifugoTokenService (JWT signing with the shared secret), bound as singletons in a service provider with a config/centrifugo.php (endpoint, API key, HMAC secret, token TTL).Migration path
RealtimePublisher / RealtimeTokenIssuer contracts in your domain so the transport is swappable and testable with a fake.Compatibility
sub, exp, info) with client-side expectations.Sequencing
Maintenance
Support
Scaling
Failure modes
exp/nbf validation fails intermittently across hosts; enforce NTP.Ramp-up
How can I help you explore Laravel packages today?