Skip to content

Migrate to Apicurio 3.1 client libraries#2094

Merged
MikeEdgar merged 9 commits intostreamshub:mainfrom
MikeEdgar:apicurio-3
Dec 3, 2025
Merged

Migrate to Apicurio 3.1 client libraries#2094
MikeEdgar merged 9 commits intostreamshub:mainfrom
MikeEdgar:apicurio-3

Conversation

@MikeEdgar
Copy link
Copy Markdown
Member

@MikeEdgar MikeEdgar commented Oct 31, 2025

  • update Apicurio client and serializer/deserializer to latest 3.1 release
  • adjust custom client support in API server (provides authentication and SSL integration to match other clients used by the console)
  • refactor console's custom serializer and deserializer to account for API changes in Apicurio's Avro and Protobuf ser/des classes
  • Update integration tests to verify support for both Apicurio v2.6 and v3.1 registry servers

@MikeEdgar MikeEdgar added the do not merge Do not merge just yet. Work is still in progress label Oct 31, 2025
@MikeEdgar MikeEdgar force-pushed the apicurio-3 branch 2 times, most recently from efa48a2 to e89ce50 Compare November 3, 2025 23:02
@MikeEdgar MikeEdgar added this to the 0.11.0 milestone Nov 4, 2025
@MikeEdgar MikeEdgar force-pushed the apicurio-3 branch 3 times, most recently from b8241a3 to d9904d3 Compare November 10, 2025 17:28
@MikeEdgar MikeEdgar force-pushed the apicurio-3 branch 2 times, most recently from 3a658e8 to be870da Compare November 24, 2025 17:34
@MikeEdgar MikeEdgar removed the do not merge Do not merge just yet. Work is still in progress label Dec 1, 2025
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
Signed-off-by: Michael Edgar <medgar@redhat.com>
@MikeEdgar MikeEdgar marked this pull request as ready for review December 1, 2025 17:48
@MikeEdgar
Copy link
Copy Markdown
Member Author

@carlesarnal @EricWittmann, FYI if you have some spare cycles to check it and point out potential issues.

Copy link
Copy Markdown

@EricWittmann EricWittmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised that the creation of the client facade is as complicated as it needs to be (including providing custom versions of Kiota classes) even though you warned me about it. :)

Despite that, it's pretty straightforward and seems OK to me. I'm less confident in my ability to jude the SerDe stuff. But that seems good to me as well.

@MikeEdgar
Copy link
Copy Markdown
Member Author

I'm surprised that the creation of the client facade is as complicated as it needs to be (including providing custom versions of Kiota classes) even though you warned me about it. :)

The complexity with the client facade comes down to two things, both arising from a common way we allow for clients (Apicurio, Prometheus, & Kafka Connect) to be configured in the console

  1. add SSLContext to the client
  2. inject authentication information generically, which can be basic auth, OIDC, or user-provided bearer tokens

The custom Kiota stuff will probably be removed now that you've made it configurable in the Apicurio code, but I still have it in there from an earlier iteration.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Dec 3, 2025

@MikeEdgar MikeEdgar merged commit cc6d8d8 into streamshub:main Dec 3, 2025
7 checks passed
@MikeEdgar MikeEdgar deleted the apicurio-3 branch December 3, 2025 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants