// the find
birdayz/kaf
Modern CLI for Apache Kafka, written in Go.
kaf is a kubectl-inspired CLI for Apache Kafka that wraps the common day-to-day operations — producing, consuming, inspecting topics and consumer groups, resetting offsets — into something sane to type. It's aimed at developers and operators who find the bundled Kafka shell scripts painful and want tab completion and JSON output piping instead.
The topic-to-topic pipe via json-each-row is genuinely useful for replay and migration workflows without writing any code. Auth coverage is solid: SASL/PLAIN, SCRAM, SSL client certs, OAuth, and AWS MSK IAM all have example configs. Shell completion works across bash, zsh, fish, and PowerShell. The produce/consume round-trip preserving headers and keys in json-each-row format makes it scriptable in a way the official tools aren't.
2,437 stars and only 162 forks suggests more users than contributors, and the commit history shows it's largely a one-person project — bus factor is real. No schema management commands: you can't create or evolve schemas through kaf, so Schema Registry is purely a decode-time concern. The consumer side lacks a 'seek and dump N messages starting at offset X' shortcut that's constantly needed for debugging — you have to combine --offset flags manually. No support for transactions or exactly-once semantics on the produce side, which matters if you're testing transactional producers.