I'm running Kafka 1.1.1 and Zookeeper 3.4.6 in a cluster, both guarded by
Kerberos. My app stack includes a module containing topic configurations,
and my continuous integration build autodeploys changes to topics with
kafka-topics.sh and kafka-configs.sh.

When I try to use a non-superuser principal to authenticate in the scripts,
the topic metadata is created by kafka-topics.sh in Zookeeper in such a way
that Kafka cannot process it to create the actual topics in Kafka brokers -
partitions are not created in the broker. Also, running kafka-configs.sh to
alter configs of existing topics gets "NoAuth for /configs/<topicname>".

When I authenticate with the superuser principal "kafka" then everything
works fine. But making the "kafka" superuser credentials available in CI
context seems unsecure.

Is it possible to use kafka-topics.sh and kafka-configs.sh in a kerberized
environment with a non-superuser Kerberos principal and how can this be
made to happen?
Can you suggest an alternate solution to achieve CI for Kafka topics?

Best regards,
Kristjan Peil

Reply via email to