franz-go contains a feature complete, pure Go library for interacting with Kafka from 0.8.0 through 3.6+. Producing, consuming, transacting, administrating, etc.
+1. I might reintroduce some aspects of this later -- e.g. if I ever introduce handling compaction, it'll be worth validating the cleanup.policy. But, it's not worth failing generally for random configs.
This isn't used at the moment; it gets in the way of using kfake to stub out behaviour that mocks custom cluster & topic config.