Kafkalet 0.1, grafički klijent za Apache Kafku za desktop računare, je objavljen. Aplikacija se isporučuje kao samostalna binarna datoteka, veličine približno 15 MB, i ne zahtijeva instaliranje JVM-a, Dockera ili pokretanje serverskih komponenti. Kod projekta je napisan u Go i TypeScript programskim jezikima i distribuira se pod MIT licencom. Verzije su dostupne za macOS (Intel i Apple Silicon), Windows и Linux.
Za razliku od postojećih web-baziranih alata poput Kafka UI i AKHQ, koji zahtijevaju implementaciju serverskog procesa u Dockeru, kafkalet radi kao redovna desktop aplikacija - slično DBeaveru ili DataGripu za baze podataka. Do sada je jedini desktop Kafka klijent bio Offset Explorer (ranije Kafka Tool), napisan u Javi i dugo nije ažuriran. kafkalet je izgrađen na Wails v2 frameworku, koji kombinuje Go backend sa web interfejsom napisanim u Reactu 18, TypeScriptu i shadcn/ui u jednu nativnu binarnu datoteku. Za interakciju sa Kafkom koristi se biblioteka franz-go, implementirana u čistom Gou bez zavisnosti od librdkafke ili CGO-a.
Osnovne mogućnosti:
- Sistem profila za upravljanje više okruženja (produkcija, priprava, razvoj). Svaki broker u profilu može imati više imenovanih računa s mogućnošću brzog prebacivanja između njih. Lozinke i tokeni se pohranjuju isključivo u skladištu sistemskih tajni operativnog sistema (macOS Privjesak za ključeve, Windows Upravitelj vjerodajnica, libsecret uključen Linux) i ne zapisuju se u konfiguracijske datoteke.
- Režim posmatrača čita poruke iz teme bez povezivanja na grupu potrošača, bez potvrđivanja pomaka i bez ikakvih nuspojava klastera. Odvojeni režim potrošača vam omogućava da se povežete na grupu i ručno potvrdite pomake.
- Navigacija po vremenskoj oznaci - navigacija do poruka prema određenom datumu i vremenu bez ručnog izračunavanja pomaka. Podržane metode autentifikacije: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (tok statičkog tokena i klijentskih vjerodajnica), TLS s provjerom certifikata server, mTLS (međusobna autentifikacija certifikata).
- Pregled poruka putem streaminga s filtriranjem regex izraza u stvarnom vremenu za ključeve i vrijednosti. Podržano je istovremeno praćenje više tema u odvojenim karticama. Virtualizacija liste omogućava prikazivanje preko 50.000 poruka bez utjecaja na performanse.
- Upravljanje temama: kreiranje, brisanje, promjena konfiguracijskih parametara, pregled particija, lidera i skupa sinhroniziranih replika (ISR).
- Upravljanje grupama potrošača: pregled kašnjenja po particiji, resetiranje pomaka na najraniji, najnoviji ili određeni vremenski pečat, pregled članova grupe (ID klijenta, host, dodijeljene teme), brisanje grupa.
- Slanje poruka sa navedenim ključem, vrijednošću, zaglavljima i ciljnim odjeljkom.
- Organizacija tema: prikačite često korištene teme, grupirajte ih u imenovane mape, pretražujte uz podršku za regularne izraze i filtrirajte prema minimalnom broju sekcija.
- Izvoz međuspremnika poruka u JSON ili CSV formatu.
- Integracija sa Confluent Schema Registry-jem za automatsko dekodiranje Avro poruka.
- Sistem JavaScript dodataka za prilagođeno dekodiranje poruka (Protobuf, MessagePack i drugi formati).
- Uvoz i izvoz postavki u JSON formatu, uključujući profile, grupe tema i označene teme.
izvor: opennet.ru
