Skip to content

Build Week 4: Add pipeline logs and catalog commands to Debezium JBang CLI #2143

Description

@Binayak490-cyber

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.

Metadata

Metadata

Fields

No fields configured for Feature.

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions