-
Sub-task
-
Resolution: Done
-
Major
-
None
-
None
-
False
-
None
-
False
-
-
The first step of the new Debezium Kafka Connect REST Extension refactoring is finished.
Let's start moving over the UI frontend to use the new URLs and responses:
All new URLs must point to the selected / active Kafka Connect cluster instead of the UI backend!
- Get the list of Kafka Connect clusters /connect-clusters needs to be replaced with a UI specific configuration
- Get list of available connector types /connector-types --> /debezium/connector-plugins ; (enabled field got removed
- Get list of configured/created/launched connectors /connectors/[cluster] --> use the standard Kafka Connect REST endpoint /connectors, optionally including the ?expand=... parameter, see: https://docs.confluent.io/platform/current/connect/references/restapi.html#get--connectors
- Delete a connector /connectors/[cluster]/[connector-name] --> use the standard Kafka Connect REST endpoint DELETE /connectors/[CONNECTOR_NAME] , see: https://docs.confluent.io/platform/current/connect/references/restapi.html#delete--connectors-(string-name)-
- Create a connector /connector/[cluster]/[connector-type-id] --> use the standard Kafka Connect REST endpoint DELETE /connectors/[CONNECTOR_NAME] , see: https://docs.confluent.io/platform/current/connect/references/restapi.html#post--connectors OR the new endpoints that are WIP
- Update a connector PUT /connectors/[cluster]/[connector-name] --> use the standard Kafka Connect REST endpoint PUT /connectors/[CONNECTOR_NAME]/config , see: https://docs.confluent.io/platform/current/connect/references/restapi.html#post--connectors OR the new endpoints that are WIP
- Get current config of a specific configured/created/launched connector GET /connectors/[cluster]/[connector-name]/config --> use the standard Kafka Connect REST endpoint GET /connectors/[CONNECTOR_NAME]/config , see: https://docs.confluent.io/platform/current/connect/references/restapi.html#get--connectors-(string-name)-config
- Validate connector config properties /connector-types/[id]/validation/properties --> use the standard Kafka Connect REST endpoint PUT /connector-plugins/[CONNECTOR_TYPE_ID]/config/validate , see: https://docs.confluent.io/platform/current/connect/references/restapi.html#put--connector-plugins-(string-name)-config-validate
- Check if Topic Auto-Creation is enabled GET /[cluster]/topic-creation-enabled --> GET /debezium/topic-creation-enabled
- List available SMTs / Transforms GET /[cluster]/transforms.json --> GET /debezium/transforms ; Predicates for SMTs are moved to a separate new endpoint GET /debezium/predicates see below!
- Lifecycle management (pause, restart, resume, etc) PUT /connector/[cluster]/[connectorname]/pause , {{ PUT /connector/[cluster]/[connectorname]/resume}} , POST /connector/[cluster]/[connectorname]/restart , POST /connector/[cluster]/[connectorname]/task/[tasknumber]/restart --> use the standard Kafka Connect REST endpoints: PUT /connectors/[CONNECTOR_NAME]/pause , PUT /connectors/[CONNECTOR_NAME]/resume , POST /connectors/[CONNECTOR_NAME]/restart , POST /connectors/[CONNECTOR_NAME]/tasks/[TASK_ID]/restart , see: https://docs.confluent.io/platform/current/connect/references/restapi.html#connectors and https://docs.confluent.io/platform/current/connect/references/restapi.html#tasks#
- Validate connection /connector-types/[id]/validate/connection --> {{PUT /debezium/[connector-type-id]/validate/connection (e.g. {}}}/debezium/mysql/validate/connection)
- Validate filters /connector-types/[id]/validate/filters --> {{PUT /debezium/[connector-type-id]/validate/filters {}}} (e.g. /debezium/mysql/validate/filters)
In development / WIP:
- Metrics endpoint /connectors/[cluster]/[connector-name]/metrics --> ???
Add tests for the connector specific Debezium Connect REST extensionsDONE- Update connect/connect-base container images (activation of REST extension)
New endpoints:
- GET /debezium/predicates get list of Predicates available to SMTs that support predicates (conditions)
- GET /debezium/version version of the main Debezium Connect REST Extension
- GET /debezium/[CONNECTOR_TYPE_ID]/version return the version of the specific connector
- GET /debezium/[CONNECTOR_TYPE_ID]/schema return the OpenAPI schema for the specific connector type id (mongodb, mysql, postgres, sqlserver, oracle)
In the future:
- TBD/WIP: Create new POST /debezium/connector or update PUT /debezium/connector/[CONNECTOR_NAME]/config connector with extended Debezium JSON syntax --> RK: UPDATE possible?
- TBD/WIP: Create new POST /debezium/[CONNECTOR_TYPE_ID]/connector or update PUT /debezium/[CONNECTOR_TYPE_ID]/connector/[CONNECTOR_NAME]/config connector with extended Debezium JSON syntax --> RK: UPDATE possible?
- relates to
-
DBZ-4395 Remove the Debezium UI backend - move logic to the Debezium UI frontend
- Open