Manually managing Kafka topics and ACLs is error-prone, time-consuming, and not scalable.
💡 What if you could declaratively define all your Kafka resources and permissions, just like code?
Introducing Kafka-ACL-Manager — a lightweight Java tool that brings infrastructure-as-code principles to your Kafka access management.
👉 GitHub: github.com/severinmbekou/Kafka-ACL-Manager
⚙️ What does it do?
Kafka-ACL-Manager lets you:
✅ Create or update Kafka topics from a YAML file
✅ Apply fine-grained ACLs to topics based on declarative permissions
✅ Delete obsolete topics and ACLs not present in the configuration
✅ Generate detailed logs for each execution
✅ Externalize sensitive config via .properties
and environment variables
🔧 How to Use It
java -jar kafka-acl-manager.jar \
--config=conf/admin-client.properties \
--resources=conf/kafka-resources.yml
admin-client.properties
: Kafka client and security config (bootstrap servers, SASL, etc.)
kafka-resources.yml
: declarative definition of topics and ACL
📦 Ideal For:
-
CI/CD pipelines that provision Kafka environments
-
DevSecOps & Platform Engineering teams
-
Automating Kafka onboarding and access control
-
Avoiding CLI/manual drift across environments
-
topics:
- name: example-topic
partitions: 3
replicationFactor: 2acls:
- topic: example-topic
permissions:
- principal: User:alice
operation: READ
permission: ALLOW
- principal: User:bob
operation: WRITE
permission: ALLOW🧠 Why it matters?
Managing Kafka security manually is outdated. Kafka-ACL-Manager helps you adopt declarative access control and automated topic governance.
📍 Project & Contributions
GitHub → https://github.com/severinmbekou/Kafka-ACL-Manager
⭐ If you find it useful, star the repo and share your feedback. PRs are welcome!