Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Avro Schemas and Schema Registry #427

Closed
raphaeldelio opened this issue Oct 30, 2023 · 10 comments
Closed

Support Avro Schemas and Schema Registry #427

raphaeldelio opened this issue Oct 30, 2023 · 10 comments
Labels
enhancement New feature or request staged for release

Comments

@raphaeldelio
Copy link
Contributor

Describe the feature request
When using Springwolf with Avro Models:

  • the generated example is generated with a lot of field that should've been ignored.
  • the yaml file is not parsable by the AsyncAPI studio
  • the UI doesn't display information about the schema registry
  • The documentation is not clear on how to publish messages using a Schema Registry

The example message should be:

{
  "someString" : "text",
  "someLong" : 0
}

Github Repository with project:
https://github.com/raphaeldelio/demo-springwolf

AsyncAPI Studio:
Screenshot 2023-10-30 at 10 26 24
Screenshot 2023-10-30 at 10 26 28

Springwolf UI:
Screenshot 2023-10-30 at 10 27 28

@raphaeldelio raphaeldelio added the enhancement New feature or request label Oct 30, 2023
@github-actions
Copy link

Welcome to Springwolf. Thanks a lot for reporting your first issue. Please check out our contributors guide and feel free to join us on discord.

@timonback
Copy link
Member

Hi @raphaeldelio
Thank you for the report, the suggestion and the linked demo repo.

Regarding the questions:

  1. We do not have native support for avro yet.
  2. True, the refs on payload level are not resolved in the asyncapi UI. This will be resolved when the 3.0 spec is released, which has been postponed.
      1. Schema registries are also not supported yet. Shall we move that to a different enhancement?

Feel free to improve the support as there are likely more people who use avro.
We are happy to assist and connect on Discord.

@timonback
Copy link
Member

Thank you for the report, the avro Schema issue has been addressed in the new release.
Also, the Kafka example allows to publish and consume normal and avro messages at the same time.

We are working on the AsyncApi 3 release now. The current PR state passes the AsyncApi studio validation. A snapshot version for testing will be available soon.

I am not aware on how to document the Kafka schema registry as part of AsyncApi. Feel free to open a new issue specific to it.

@raphaeldelio
Copy link
Contributor Author

@timonback Thank you! I will test it when the snapshot is available.

@timonback
Copy link
Member

Hi @raphaeldelio,
the SNAPSHOT version is available now

@raphaeldelio
Copy link
Contributor Author

@timonback just tested it and it works! I tested it with an Avro Model that has nested records as well. Thank you for this. When is this planned to be released?

@timonback
Copy link
Member

Awesome.
We plan to release a new version at the end of each month, so the next one is at the end of February

@timonback
Copy link
Member

Thank you very much for the shoutout on LinkedIn!

Just to clarify, Avro is supported as of the current release.
AsyncAPI 3 including the fix for the schema will will be part of the February release.
As the February release will contain breaking changes, it can still make sense to wait for that release.

@raphaeldelio
Copy link
Contributor Author

@timonback I found two bugs. One when dealing with nested avro models and another that always throws exceptions.
#582

@timonback
Copy link
Member

Great that you provide a fix for it right away!
I/We will have a look on Friday

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request staged for release
Projects
None yet
Development

No branches or pull requests

2 participants