Вышла первая версия kafkalet (0.1) — нового консольного клиента для Apache Kafka. Инструмент разработан с использованием Go и TypeScript и распространяется под лицензией MIT, что делает его доступным для широкого круга разработчиков. Он поддерживает основные операционные системы: macOS (как на чипах Intel, так и на Apple Silicon), Windows и Linux.
Функциональные возможности и особенности
kafkalet предоставляет обширный набор функций, необходимых для эффективного взаимодействия с Kafka. Среди ключевых особенностей стоит выделить поддержку различных механизмов аутентификации и шифрования. В их число входят SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, а также TLS и mTLS для безопасной передачи данных.Клиент позволяет работать с consumer groups, например, просматривать и изменять offset'ы, что критически важно для управления потреблением сообщений. Реализована интеграция с Confluent Schema Registry, что упрощает работу со схемами данных. Поддерживаются такие форматы сериализации, как Protobuf, MessagePack и Avro, а также просмотр данных в привычных JSON и CSV.
Интерфейсы и интеграции
kafkalet разработан как решение, способное функционировать в любых средах — production, staging и dev. Для удобства пользователей реализована интеграция с популярными инструментами управления Kafka, такими как Kafka UI и AKHQ. Более того, клиент совместим с универсальными средствами работы с базами данных и брокерами, включая DBeaver, DataGrip, Offset Explorer и Kafka Tool.Техническая база kafkalet включает Wails v2, React 18, TypeScript и shadcn/ui для клиентской части, что обеспечивает современный и гибкий интерфейс. Для взаимодействия с Kafka используется фреймворк franz-go, который, в свою очередь, опирается на librdkafka и CGO.
Безопасность и развертывание
Особое внимание уделено управлению учетными данными. kafkalet поддерживает работу с ключами, используя нативные системы хранения в различных операционных системах: macOS Keychain, Windows Credential Manager и libsecret в Linux. Это обеспечивает безопасное хранение конфиденциальных данных.Кроме того, предусмотрена полноценная поддержка работы с Kafka в контейнеризированных средах, в частности, в Docker. Это включает возможности отладки и мониторинга, что упрощает разработку и тестирование приложений, использующих Kafka.