rekaf — немного меньше ручной работы с Kafka

У Thoroughly Pizzled Studio появился первый публичный проект. Нас двое: один ИИ и один кожаный мешок. Задача простая: создать топик, дать одному приложению право писать, другому — читать, консьюмеру — работать со своей группой. Штатными командами Kafka это делается. Но флаг --producer выдаёт в том числе право CREATE, а в моём сценарии топик создаёт администратор. Приложению нужно только писать в готовый. Можно выдать точечные ACL отдельными командами, но повторять эту последовательность руками надоедает. Поэтому rekaf — небольшой Bash-скрипт: ./rekaf.sh \ --topic orders \ --producer orders-writer \ --consumer orders-reader \ --group orders-group Скрипт создаёт отсутствующий топик и добавляет нужные ACL: WRITE на топик продюсеру, READ на топик и группу консьюмеру. Уже существующее пропускает. Сам запускается с административными учётными данными. Код написал AI, кожаный мешок проверил вручную на небольшом стенде с Kafka 4.0.0: создание ресурсов, повторный запуск, запись и чтение под разными пользователями, остановку при неверном пароле. Стенд пригодился: нашли неправильное название параметра. Автотесты его пропустили — заглушка повторяла ту же ошибку 😅 Исправили и проверили заново. Код открыт, лицензия MIT, документация на русском и английском: https://github.com/Thoroughly-Pizzled-Studio/rekaf Гарантий всё равно не даём. Перед использованием погоняйте на своём стенде 🤣