Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Avro Regy Laravel Package

koco/avro-regy

koco/avro-regy is a Laravel package for Avro schema management and schema registry integration. It provides configurable tooling to define, register, and resolve Avro schemas, helping PHP applications validate and serialize data with a registry-backed workflow.

View on GitHub
Deep Wiki
Context7

koco/avro-regy is a Laravel/PHP package for working with Apache Avro and schema registries. It provides a clean integration for registering, retrieving, and validating Avro schemas, then encoding and decoding payloads against the correct schema version.

  • Laravel service provider and publishable configuration
  • Schema registry client for schema registration and lookup
  • Avro serialization/deserialization helpers for PHP data
  • Version-aware schema handling and compatibility checks
  • Simple facade/API integration for application code
Frequently asked questions about Avro Regy
Is koco/avro-regy a Laravel package or a Symfony Messenger bundle?
It is a Symfony Messenger bundle, not a Laravel package. The repository ships a Bundle class, a DI extension, compiler passes, Messenger middleware, and a Symfony serializer wired into the message bus. Only the Confluent-style Schema Registry HTTP client and the Avro codec wrapper are genuinely portable to a Laravel codebase. Everything else depends on Symfony abstractions such as Envelope, Stamp, and SerializerInterface.
How do I install koco/avro-regy in a Laravel application?
You can require it with Composer under the koco/avro-regy name, but expect dependency conflicts before you reach runtime. The package carries Symfony 4.4/5.x pins plus Guzzle, PSR-18, and Avro library constraints that will likely clash with a current Laravel 10 or 11 install on PHP 8.1 to 8.3. Run a Composer constraint audit first, and prefer forking the two portable pieces instead of forcing the bundle into Laravel's container.
Does koco/avro-regy support Laravel 10, Laravel 11, PHP 8.2, and PHP 8.3?
There is no evidence of support. The last release was 2022-10-28, there is no CI matrix showing PHP 8.2 or 8.3, and the Symfony 4.4/5.x constraints point at an older stack. Treat Laravel 10 and 11 compatibility as unproven until you have run the full test suite on your target PHP version. A fork with updated constraints is the realistic path.
What does koco/avro-regy actually do for Kafka and Schema Registry?
It provides a Confluent-style Schema Registry HTTP client, a cached schema resolver, an Avro encode and decode adapter, and Symfony Messenger middleware that applies Avro serialization on the message bus. In practice that means messages are encoded to Avro with a schema ID resolved from the registry and decoded on consumption. Those registry and codec pieces are the parts worth keeping if you extract anything for Laravel.
Can I use only the Avro codec and Schema Registry client without Symfony Messenger?
Yes, but only by extracting them. Fork the repository under an internal namespace, strip the bundle, DI extension, and compiler passes, and keep the registry client, cached schema resolver, and Avro encode and decode adapter. Re-expose those through a Laravel service provider with published config for registry URL, auth, cache TTL, and subject strategy. If Envelope, Stamp, or Symfony SerializerInterface leaks into the extracted surface, the boundary is wrong and needs re-wrapping.
Is koco/avro-regy maintained and safe to use in production?
No. It is effectively abandoned: last release 2022-10-28, three stars, zero dependents, a single maintainer, no security disclosure path, and no downstream usage to surface regressions. For a production Kafka pipeline that is a high-risk dependency. If you adopt the code, budget for owning a fork indefinitely and name an internal owner.
Which Schema Registry compatibility modes and subject naming strategies does koco/avro-regy support?
The repository targets a Confluent-style registry, but there is no field evidence that BACKWARD, FORWARD, FULL, or TRANSITIVE compatibility and TopicNameStrategy versus RecordNameStrategy work under real schema churn. Zero dependents means nobody has surfaced those behaviours in production. Validate every mode and subject strategy against the exact registry version you run before committing.
Does koco/avro-regy use the Confluent wire format with the magic byte and schema ID?
It is built around Confluent-style schema IDs, but you must confirm the actual on-wire bytes rather than assume. The Confluent wire format is magic byte 0x00 followed by a 4-byte schema ID, and that contract has to be verified against your producers and consumers. If you fork, your team owns that wire-format spec and its versioning.
How should I integrate Avro serialization with Laravel queues and jobs?
Apply Avro only at the service boundary. Use a producer-side serializer on the outbound event path and a consumer-side decoder in queue middleware or a job base class, and leave internal Laravel job payloads on PHP serialization to limit blast radius. Do not try to replace Laravel's SerializesModels pipeline with Symfony Messenger middleware. This boundary approach keeps schema evolution isolated to event ingress and egress.
What are the alternatives to koco/avro-regy for Laravel and Kafka?
First question whether Avro plus Schema Registry is a hard external constraint; if it is not, re-evaluate Protobuf or JSON Schema. If Avro is mandatory, write a thin Laravel-native wrapper around the Avro codec and registry client rather than adopting the Symfony bundle, or bridge Symfony Messenger into Laravel and accept two DI and dispatch models side by side. Extracting the codec and registry client is the lowest-risk option without a dedicated owner.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo