- Can I use m6web/kafka-bundle in a Laravel application?
- No. m6web/kafka-bundle is a Symfony bundle, not a Laravel package, and it integrates through Symfony's DI container, Bundle registration, and Console component rather than Laravel's service provider and queue model. Adopting it in Laravel would require writing an adapter layer from scratch, so it is not a practical choice for a Laravel application.
- Is m6web/kafka-bundle compatible with Laravel 10 and Laravel 11?
- No. The bundle was last released in 2017 and constrains Symfony components to versions such as ~2.7 or ~3.0, which conflict with the Symfony 6 and 7 components used by Laravel 10 and Laravel 11. Composer resolution will fail unless you fork and rewrite its dependencies, which is not recommended.
- Is m6web/kafka-bundle still maintained in 2025?
- No. The repository is archived, the last release was in 2017, and the package has roughly 8 stars and zero dependents. There is no active maintainer, no community triage, and no upstream fix path for bugs or security issues. It should be treated as abandoned.
- Why does composer require m6web/kafka-bundle fail in a Laravel project?
- Composer fails because the bundle's Symfony constraints and its 2017-era Kafka client dependencies do not resolve against the Symfony 6/7 components required by modern Laravel. Forcing resolution would mean forking the package, rewriting composer.json, and chasing transitive conflicts. That inherits maintenance burden without gaining a Laravel-native abstraction.
- Does m6web/kafka-bundle work with Laravel queues, jobs, and failed_jobs?
- No. It does not provide a Laravel Queue driver, does not use the Queue, Worker, or Job contracts, and has no ShouldQueue or failed_jobs integration. Its model is service-centric: named producers plus a long-running kafka:consumer Symfony console command. You would need to build retry, failure handling, and supervisor management yourself.
- What should I use instead of m6web/kafka-bundle for Kafka in Laravel?
- Use a maintained Laravel-native option such as mateusjunges/laravel-kafka with the ext-rdkafka extension backed by librdkafka. It provides a real Laravel service provider, config publishing, consumer commands, and modern Kafka protocol support including SASL and TLS. If your real requirement is job offloading rather than event streaming, Laravel's native queue with Redis or SQS is simpler and cheaper.
- Can m6web/kafka-bundle connect to AWS MSK, Confluent Cloud, or Aiven with TLS and SASL?
- Very unlikely. The bundle relies on an old pure-PHP Kafka client from the Kafka 0.8/0.9 era with weak to nonexistent TLS and SASL/SCRAM support. Managed services such as AWS MSK, Confluent Cloud, and Aiven typically require TLS plus SASL or IAM authentication, so this is usually a hard stop at infrastructure review. Also, the old client lacks idempotent producers and transactions, creating data-integrity risk on modern brokers.
- Is m6web/kafka-bundle compatible with PHP 8.2 and modern Kafka brokers?
- No. The package predates PHP 7.1+ typing conventions and is a 2017-era codebase, so PHP 8.2 compatibility would require a rewrite rather than a patch. It also speaks old Kafka protocol semantics and does not support message format v2, incremental cooperative rebalancing, idempotent producers, or transactions expected by modern Kafka 3.x and KRaft-only 4.x brokers.
- How would I consume Kafka topics in Laravel if I forked m6web/kafka-bundle?
- You would have to write a Laravel adapter that binds the bundle's producer services into the container and runs its Symfony console consumer command under Supervisor. That command would not participate in Laravel's queue worker lifecycle, failed-job table, or retry semantics, so you would own failure handling and observability yourself. This is why a maintained Laravel Kafka package is a better path.
- Is m6web/kafka-bundle safe to run in production?
- No. It is an archived package with abandoned transitive dependencies, so there is no CVE response path and a vulnerability scanner will flag it permanently. It also has weak TLS/SASL support and an old protocol implementation, which makes it unsuitable for production on modern managed Kafka. The only defensible scenario is legacy parity, and even then you should name an owner and a replacement plan.