Kafkalet 0.1, graficzny klient desktopowy dla Apache Kafka, został wydany. Aplikacja jest dostarczana jako samodzielny plik binarny o rozmiarze około 15 MB i nie wymaga instalacji maszyny wirtualnej Java (JVM), Dockera ani uruchamiania komponentów serwerowych. Kod projektu jest napisany w językach Go i TypeScript i jest dystrybuowany na licencji MIT. Kompilacje są dostępne dla systemów macOS (Intel i Apple Silicon), Windows i Linux.
W przeciwieństwie do istniejących narzędzi internetowych, takich jak Kafka UI i AKHQ, które wymagają wdrożenia procesu serwera w Dockerze, Kafkalet działa jak zwykła aplikacja desktopowa – podobnie jak DBeaver lub DataGrip dla baz danych. Do tej pory jedynym klientem Kafki na komputery stacjonarne był Offset Explorer (dawniej Kafka Tool), napisany w Javie i od dawna nieaktualizowany. Kafkalet jest oparty na frameworku Wails v2, który łączy zaplecze Go z interfejsem webowym napisanym w React 18, TypeScript i shadcn/ui w jednym natywnym pliku binarnym. Do interakcji z Kafką wykorzystywana jest biblioteka franz-go, zaimplementowana w czystym Go, bez zależności od librdkafka ani CGO.
Najważniejsze cechy:
- System profili do zarządzania wieloma środowiskami (produkcyjnym, testowym i deweloperskim). Każdy broker w profilu może mieć wiele nazwanych kont z możliwością szybkiego przełączania się między nimi. Hasła i tokeny są przechowywane wyłącznie w systemowym magazynie sekretów systemu operacyjnego (pęk kluczy macOS, Menedżer poświadczeń Windows lub libsecret w systemie Linux) i nie są zapisywane w plikach konfiguracyjnych.
- Tryb obserwatora odczytuje wiadomości z tematu bez łączenia się z grupą konsumentów, bez zatwierdzania przesunięć i bez żadnych efektów ubocznych klastra. Osobny tryb konsumenta umożliwia połączenie się z grupą i ręczne zatwierdzanie przesunięć.
- Nawigacja z wykorzystaniem znaczników czasu – przechodź do wiadomości według określonej daty i godziny bez ręcznego obliczania przesunięć. Obsługiwane metody uwierzytelniania: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (przepływ statycznego tokena i danych uwierzytelniających klienta), TLS z weryfikacją certyfikatu. serwer, mTLS (wzajemne uwierzytelnianie certyfikatów).
- Przeglądanie wiadomości strumieniowych z filtrowaniem wyrażeń regularnych w czasie rzeczywistym dla kluczy i wartości. Obsługiwane jest jednoczesne monitorowanie wielu tematów na osobnych kartach. Wirtualizacja listy umożliwia wyświetlanie ponad 50 000 wiadomości bez wpływu na wydajność.
- Zarządzanie tematami: tworzenie, usuwanie, zmiana parametrów konfiguracji, przeglądanie partycji, liderów i zestawu zsynchronizowanych replik (ISR).
- Zarządzanie grupami konsumentów: przeglądanie opóźnień według partycji, resetowanie przesunięć do najwcześniejszego, najpóźniejszego lub określonego znacznika czasu, przeglądanie członków grupy (identyfikator klienta, host, przypisane tematy), usuwanie grup.
- Wysyłanie wiadomości z określonym kluczem, wartością, nagłówkami i sekcją docelową.
- Organizacja tematów: przypinanie często używanych tematów, grupowanie ich w nazwanych folderach, wyszukiwanie z obsługą wyrażeń regularnych i filtrowanie według minimalnej liczby sekcji.
- Eksportuj bufor wiadomości w formacie JSON lub CSV.
- Integracja z Confluent Schema Registry w celu automatycznego dekodowania wiadomości Avro.
- System wtyczek JavaScript umożliwiający dekodowanie wiadomości (formaty Protobuf, MessagePack i inne).
- Importuj i eksportuj ustawienia w formacie JSON, obejmujące profile, grupy tematyczne i przypięte tematy.
Źródło: opennet.ru
