Skip to content

[Enhancement]: KafkaBridge Tools #63

@kornys

Description

@kornys

Related problem

KafkaBridge provides an HTTP REST interface to Kafka. Useful for applications that can't use the Kafka protocol directly. Simpler CRD than Connect — mainly deployment and config.

Suggested solution

New Tools

list_kafka_bridges

  • Parameters: namespace (optional)
  • Returns: List of bridges: name, namespace, replicas (expected/ready), bootstrap servers, HTTP host/port, status conditions
  • K8s CRD: kafkabridges.kafka.strimzi.io

get_kafka_bridge

  • Parameters: namespace (optional), bridgeName (required)
  • Returns: Detailed bridge: bootstrapServers, replicas, HTTP config (host, port, CORS), producer config, consumer config, admin client config, authentication type, TLS, logging config, resources, status conditions

get_kafka_bridge_pods

  • Parameters: namespace (optional), bridgeName (required)
  • Returns: Pod summaries (reuses PodsService)

New Files

  • KafkaBridgeService.java@ApplicationScoped
  • KafkaBridgeTools.java@Singleton, @Guarded
  • KafkaBridgeSummary.java / KafkaBridgeDetail.java — DTOs
  • KafkaBridgeServiceTest.java, KafkaBridgeToolsTest.java
  • Update McpDiscoveryTest.java

RBAC

Add to 003-ClusterRole.yaml:

- apiGroups: ["kafka.strimzi.io"]
  resources: ["kafkabridges"]
  verbs: ["get", "list", "watch"]

Verification

  1. mvn clean test — new tests pass
  2. Deploy KafkaBridge on dev cluster
  3. Invoke list_kafka_bridges, get_kafka_bridge — verify HTTP config and status

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions