Aiven-Open / karapace

Karapace - Your Apache Kafka® essentials in one tool
https://karapace.io
Apache License 2.0
450 stars 68 forks source link

Ensure Karapace compatibility with Confluent API #916

Open gscher opened 1 month ago

gscher commented 1 month ago

What is currently missing?

It seems like that with the latest releases, Confluent included some breaking changes on the Schema Registry API level and their open source Kafka clients as part of a data contract feature. The consequence is that for example their Kafka .Net client (https://github.com/confluentinc/confluent-kafka-dotnet) in version 2.5.0 is no longer compatible with Karapace.

What I have seen when comparing schema registry API calls is that the call to register a new schema now includes additional fields such as Metadata and RuleSet which Karapace can't handle right now and therefore the entire schema registration crashes.

https://docs.confluent.io/platform/current/schema-registry/develop/api.html#post--subjects-(string-%20subject)-versions

How could this be improved?

It would be great if Karapace stays compatible also to newer schema registry client versions. Maybe a quick win would be to accept the additional fields on the REST API level, but just ignore them for the time being?

Is this a feature you would work on yourself?