Byl vydán kafkalet 0.1, desktopový grafický klient pro práci s Apache Kafka. Aplikace je dodávána jako samostatný binární soubor o velikosti přibližně 15 MB, nevyžaduje instalaci JVM, Dockeru ani spuštění serverových komponent. Kód projektu je napsán v Go a TypeScriptu a distribuuje se pod licencí MIT. Sestavení byla připravena pro macOS (Intel a Apple Silicon), Windows a Linux.
Na rozdíl od existujících webových nástrojů, jako jsou Kafka UI a AKHQ, které vyžadují nasazení serverového procesu v Dockeru, funguje kafkalet jako běžná desktopová aplikace — podobně jako DBeaver nebo DataGrip pro databáze. Jediným desktopovým klientem Kafka byl dosud Offset Explorer (dříve Kafka Tool), napsaný v Javě a dlouho neaktualizovaný. Aplikace kafkalet je postavena na základě frameworku Wails v2, který spojuje Go backend s webovým rozhraním v Reactu 18, TypeScriptu a shadcn/ui do jednoho nativního binárního souboru. Pro interakci s Kafkou se používá knihovna franz-go, implementovaná na čistém Go bez závislosti na librdkafka a CGO.
Hlavní funkce:
- Systém profilů pro správu více prostředí (produkční, staging, dev). Každý broker v profilu může mít více pojmenovaných účtů s možností rychlého přepínání. Hesla a tokeny jsou uloženy výhradně v systémovém úložišti tajemství OS (macOS Keychain, Windows Credential Manager, libsecret na Linuxu) a nejsou zapisována do konfiguračních souborů.
- Režim Observer — čtení zpráv z topiku bez připojení k consumer group, bez potvrzení posunů a bez vedlejších efektů na klasteru. Samostatný režim Consumer umožňuje připojit se k skupině a ručně potvrdit posuny.
- Navigace podle času (seek to timestamp) — přechod k zprávám podle zadaného data a času bez nutnosti ručně vypočítávat posuny. Podporuje metody autentizace: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (statický token a client credentials flow), TLS s ověřením certifikátu serveru, mTLS (vzájemná autentizace pomocí certifikátů).
- Streamové prohlížení zpráv s regex filtrováním podle klíčů a hodnot v reálném čase. Podporuje současné sledování více topiků v samostatných záložkách. Virtualizace seznamu umožňuje zobrazit více než 50 000 zpráv bez snížení výkonu.
- Správa témat: vytváření, odstraňování, změna konfiguračních parametrů, zobrazení oddílů, lídrů a sady synchronizovaných replik (ISR).
- Správa skupin spotřebitelů: sledování zpoždění (lag) podle oddílů, resetování offsetů na nejstarší, nejnovější nebo konkrétní časovou značku, zobrazení členů skupiny (client ID, host, přidělená témata), odstraňování skupin.
- Odesílání zpráv se specifikováním klíče, hodnoty, hlaviček a cílového oddílu.
- Organizace témat: připínání často používaných témat, seskupování do pojmenovaných složek, vyhledávání s podporou regulárních výrazů a filtrování podle minimálního počtu oddílů.
- Export zpráv do formátu JSON nebo CSV.
- Integrace s Confluent Schema Registry pro automatické dekódování zpráv ve formátu Avro.
- Systém JavaScript pluginů pro uživatelské dekódování zpráv (Protobuf, MessagePack a další formáty).
- Import a export nastavení ve formátu JSON, včetně profilů, skupin témat a připnutých témat.
Zdroj: opennet.ru
