We currently expose a KafkaClient (via Spicerack.kafka, itself a spicerack.kafka.Kafka instance). That client class wraps a kafka consumer, and allows to interact with a topic partitions and associated offset for a given consumer.
I suggest we also allow the Kafka class (scoped to a single cluster) to interact with a KafkaAdminClient, which would allow cookbooks to enquire about the state of the cluster:
- list active brokers
- list current partitions
- list topics
- etc
This wouldn't require any additional dependencies, as we'd only need to leverage the KafkaAdminClient class provided by kafka-python.