While looking for a suitable REST/Web proxy for Kafka I stumbled upon Kafka Pixy.
Out of the box Kafka Pixy supports a very simple REST API as well as a more performant gRPC API and so it looked like a great option. Setting it up looked very straight forward until I realized that it did not support TLS connections to Kafka.
I searched the Github issues and sadly my initial understanding was confirmed with issue #178 - TLS between kafka-pixy and kafka.
If you look at the issue now of course, you’ll realize that the issue was closed…by the merging of a PR that was submitted by me!
The PR was pretty straight forward and you can see it here but the gist of it is that Sarama (the underlying Kafka client used by Kafka Pixy) supports a
tls.Config struct (from the
tls package). The vast majority of the PR is around following the existing conventions of Kafka Pixy and supporting configuration via the CLI or a configuration YAML file.