atiaomar1978-hub opened a new pull request, #24993: URL: https://github.com/apache/camel/pull/24993
## Summary Adds a new `camel-apicurio-registry` component (JIRA: https://issues.apache.org/jira/browse/CAMEL-24172). This is **Phase 1 (producer MVP)**. It lets Camel routes manage schemas and API artifacts stored in an [Apicurio Registry](https://www.apicur.io/registry/) using the official Apicurio Registry Java SDK (`io.apicurio:apicurio-registry-java-sdk`, Core Registry API v3). ### What's included - **Component / Endpoint** — scheme `apicurio-registry:serverUrl`, producer-only, category `API`. - **Seven producer operations**: - `createArtifact` — create a new artifact with its first version - `updateArtifact` — add a new version to an existing artifact - `getArtifact` — read the content of the latest version - `getArtifactVersion` — read the content of a specific version - `listArtifactVersions` — list versions of an artifact - `deleteArtifact` — delete an artifact and all its versions - `deleteArtifactVersion` — delete a specific version - **Configuration** via endpoint options (`groupId`, `artifactId`, `artifactType`, `version`, `contentType`, `operation`), each overridable per-exchange with `CamelApicurioRegistry*` headers. - **`ApicurioRegistryClient`** wrapper isolating the Vert.x/Kiota-based SDK and owning the `Vertx` lifecycle, so the producer is unit-testable with a mock. - Generated catalog/metadata, component docs (`apicurio-registry-component.adoc`), and registration in `components/pom.xml`, `parent/pom.xml` and `catalog/camel-allcomponents/pom.xml`. ### Scope / follow-ups (later phases) Intentionally out of scope for this MVP, to keep the change reviewable: - Polling **consumer** (Phase 2) - **DataFormat** integration (separate ticket) - Extended **authentication / TLS** options and richer search/rules operations ## Test plan - [x] `mvn -pl components/camel-apicurio-registry install` builds cleanly (JDK 21, Maven wrapper 3.9.16). - [x] Generated metadata regenerated and committed. - [x] Code formatted (`formatter:format`, `impsort:sort`). - [x] **18 unit tests pass**: - `ApicurioRegistryProducerTest` (13) — every operation, header-override precedence, header-only operation, and error paths (missing operation / artifactId / version, missing body). Mockito + AssertJ. - `ApicurioRegistryEndpointTest` (5) — defaults, URI query parsing, producer creation, consumer rejection, missing server URL. - [ ] Reviewer sanity check on the SDK method chains in `ApicurioRegistryClient` against a live Apicurio Registry (an integration test with Testcontainers is planned as a follow-up). --- _Generated by Cursor Agent (Opus 4.8) on behalf of @atiaomar1978-hub._ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
