Випуск kafkalet 0.1, десктопного клієнта для Apache Kafka

Опубліковано випуск kafkalet 0.1, десктопного графічного клієнта для роботи з Apache Kafka. Програма постачається у вигляді самодостатнього бінарного файлу розміром близько 15 МБ, не потребує встановлення JVM, Docker або запуску серверних компонентів. Код проекту написаний на Go та TypeScript та поширюється під ліцензією MIT. Збірки підготовлені для macOS (Intel та Apple Silicon), Windows та Linux.

На відміну від існуючих веб-орієнтованих інструментів, таких як Kafka UI та AKHQ, що вимагають розгортання серверного процесу в Docker, kafkalet працює як звичайна десктопна програма - аналогічно DBeaver або DataGrip для баз даних. Єдиним десктопним Kafka-клієнтом досі залишався Offset Explorer (раніше Kafka Tool), написаний на Java, який давно не оновлювався. Програма kafkalet побудована на базі фреймворку Wails v2, що поєднує Go-бекенд з веб-інтерфейсом на React 18, TypeScript і shadcn/ui в єдиний нативний бінарний файл. Для взаємодії з Kafka використовується бібліотека franz-go, реалізована на чистому Go незалежно від librdkafka і CGO.

Основні можливості:

  • Система профілів керувати кількома оточеннями (production, staging, dev). Кожен брокер у профілі може мати кілька іменованих облікових записів із можливістю швидкого перемикання. Паролі та токени зберігаються виключно у системному сховищі секретів ОС (macOS Keychain, Windows Credential Manager, libsecret на Linux) і не записуються у конфігураційні файли.
  • Режим Observer – читання повідомлень з топіка без підключення до consumer group, без комміту зсувів та без побічних ефектів на кластері. Окремий режим Consumer дозволяє підключитися до групи та зафіксувати зміщення вручну.
  • Навігація за часом (seek to timestamp) – перехід до повідомлень за вказаною датою та часом без необхідності обчислювати зміщення вручну. Підтримка методів аутентифікації: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (статичний токен та client credentials flow), TLS з перевіркою сертифіката сервераmTLS (взаємна автентифікація за сертифікатами).
  • Потоковий перегляд повідомлень із regex-фільтрацією за ключами та значеннями в реальному часі. Підтримується одночасне спостереження за кількома топами в окремих вкладках. Віртуалізація списку дозволяє відображати понад 50 000 повідомлень без зниження продуктивності.
  • Керування топіками: створення, видалення, зміна конфігураційних параметрів, перегляд розділів, лідерів та набору синхронізованих реплік (ISR).  Випуск kafkalet 0.1, десктопного клієнта для Apache Kafka
  • Управління consumer groups: перегляд відставання (lag) по розділах, скидання зсувів на earliest, latest або конкретну тимчасову мітку, перегляд учасників групи (client ID, хост, призначені топики), видалення груп.
  • Надсилання повідомлень із зазначенням ключа, значення, заголовків та цільового розділу.  Випуск kafkalet 0.1, десктопного клієнта для Apache Kafka
  • Організація топиків: закріплення топиків, що часто використовуються, угруповання в іменовані папки, пошук з підтримкою регулярних виразів і фільтрацією за мінімальною кількістю розділів.
  • Експортувати буфер повідомлень у форматі JSON або CSV.
  • Інтеграція із Confluent Schema Registry для автоматичного декодування повідомлень у форматі Avro.
  • Система JavaScript-плагінів для декодування повідомлень (Protobuf, MessagePack та інші формати).
  • Імпорт та експорт налаштувань у форматі JSON, включаючи профілі, групи топіків та закріплені топіки.

Джерело: opennet.ru

Додати коментар або відгук