reckon
Integrations

Kafka

Read Kafka metadata, group-less topic messages and consumer lag with kcat and rpk, with every run approved by you.

What it covers

Use Kafka when a consumer is slow, lagging or stuck, when a dead-letter topic is suspected, or when a Kafka-connected service misbehaves. kcat shows cluster metadata and bounded topic tails; rpk shows consumer-group lag and cluster or topic state.

Connect

The two clients are separate providers: kafka runs kcat and kafka-rpk runs rpk. Add the ones you use:

reckon connect kafka-prod --org acme --provider kafka --for-env prod
reckon connect rpk-prod   --org acme --provider kafka-rpk --for-env prod

Both read the same KAFKA_* settings. Fill in each connection's file, for example ~/.reckon/orgs/acme/secrets/kafka-prod.env:

KAFKA_BOOTSTRAP_SERVERS=broker1.example.com:9092,broker2.example.com:9092
KAFKA_SECURITY_PROTOCOL=SASL_SSL
KAFKA_SASL_MECHANISM=SCRAM-SHA-512
KAFKA_SASL_USERNAME=readonly
KAFKA_SASL_PASSWORD=replace_me

Reckon passes these to kcat as -b and -X options. For rpk it derives RPK_BROKERS, RPK_USER, RPK_PASS, RPK_SASL_MECHANISM and, for TLS protocols, RPK_TLS_ENABLED. An rpk connection can set RPK_BROKERS directly instead. There is no reckon login for Kafka.

reckon verify kafka-prod runs kcat -L -J; reckon verify rpk-prod runs rpk cluster info.

Read-only contract

Both are approval connections: the agent must ask you before each run, and Claude Code's settings in the org folder mark them as ask.

  • The broker principal is the real barrier. Grant it only Describe and Read.
  • kcat: Reckon refuses -P (produce), -G (consumer group), -b, -F and -X.
  • rpk: Reckon allows only cluster info, cluster health, topic list, topic describe, topic consume, group list and group describe, and refuses -g, --group, --brokers, -X, --profile and --config.

Never join a production consumer group. A group read rebalances the real consumers and commits offsets. Always consume without a group.

Key commands

reckon run kafka -- -L -J -t <topic>
reckon run kafka -- -C -t <topic> -o -10 -e -q
reckon run kafka-rpk -- cluster info
reckon run kafka-rpk -- group list
reckon run kafka-rpk -- group describe <consumer-group>
reckon run kafka-rpk -- topic describe <topic>
reckon run kafka-rpk -- topic consume <topic> -n 10