This GSoC 2026 project task proposes extending the Debezium CLI with pipeline log access and catalog discovery commands, building on the previously implemented pipeline, source, destination, connection, and transform commands.
Proposed Pipeline Logs Commands:
debezium pipeline logs <id> - download the full log dump for a pipeline
debezium pipeline logs --stream <id> - live tail pipeline logs over WebSocket (the kubectl logs -f equivalent for Debezium)
Proposed Catalog Commands:
debezium catalog list [--type <type>] - list available connector/component descriptors for the current platform version
debezium catalog get <type> <class> - get the descriptor for a specific component
The implementation will reuse the existing PlatformFactory/*Service pattern (adding a pipelineLogs()/catalog() method to the shared PlatformFactory) and the per-feature platform.<feature>.{dto,mapper,service,api} package layout established in prior weeks. Catalog responses have no fixed schema on the backend (CatalogService reads/filters raw manifest.json/descriptor files), so the catalog DTOs will be modeled generically rather than as typed records. The log streaming command is new infrastructure relative to prior weeks: it requires a quarkus-websockets-next WebSocket client connecting to /api/pipelines/{id}/logs/stream, rather than a plain REST call. Integration tests will use Testcontainers with the real quay.io/debezium/platform-conductor:nightly image, following the jbang/*JB + nativebuild/*IT test split.
This GSoC 2026 project task proposes extending the Debezium CLI with pipeline log access and catalog discovery commands, building on the previously implemented pipeline, source, destination, connection, and transform commands.
Proposed Pipeline Logs Commands:
debezium pipeline logs <id>- download the full log dump for a pipelinedebezium pipeline logs --stream <id>- live tail pipeline logs over WebSocket (thekubectl logs -fequivalent for Debezium)Proposed Catalog Commands:
debezium catalog list [--type <type>]- list available connector/component descriptors for the current platform versiondebezium catalog get <type> <class>- get the descriptor for a specific componentThe implementation will reuse the existing
PlatformFactory/*Servicepattern (adding apipelineLogs()/catalog()method to the sharedPlatformFactory) and the per-featureplatform.<feature>.{dto,mapper,service,api}package layout established in prior weeks. Catalog responses have no fixed schema on the backend (CatalogServicereads/filters rawmanifest.json/descriptor files), so the catalog DTOs will be modeled generically rather than as typed records. The log streaming command is new infrastructure relative to prior weeks: it requires aquarkus-websockets-nextWebSocket client connecting to/api/pipelines/{id}/logs/stream, rather than a plain REST call. Integration tests will use Testcontainers with the realquay.io/debezium/platform-conductor:nightlyimage, following thejbang/*JB+nativebuild/*ITtest split.