Se ha lanzado Kafkalet 0.1, un cliente gráfico de escritorio para Apache Kafka. La aplicación se entrega como un archivo binario autónomo de aproximadamente 15 MB y no requiere la instalación de una JVM, Docker ni la ejecución de componentes de servidor. El código del proyecto está escrito en Go y TypeScript y se distribuye bajo la licencia MIT. Las compilaciones están disponibles para macOS (Intel y Apple Silicon), Windows y Linux.
A diferencia de las herramientas web existentes, como Kafka UI y AKHQ, que requieren la implementación de un proceso de servidor en Docker, Kafkalet se ejecuta como una aplicación de escritorio normal, similar a DBeaver o DataGrip para bases de datos. Hasta ahora, el único cliente de escritorio de Kafka era Offset Explorer (anteriormente Kafka Tool), escrito en Java y sin actualizar desde hace tiempo. Kafkalet se basa en el framework Wails v2, que combina un backend de Go con una interfaz web escrita en React 18, TypeScript y shadcn/ui en un único binario nativo. Para la interacción con Kafka, se utiliza la biblioteca franz-go, implementada en Go puro sin dependencias de librdkafka ni CGO.
Características principales:
- Un sistema de perfiles para gestionar múltiples entornos (producción, pruebas y desarrollo). Cada agente de un perfil puede tener varias cuentas con nombre y alternar rápidamente entre ellas. Las contraseñas y los tokens se almacenan exclusivamente en el almacén de secretos del sistema operativo (MacOS Keychain, Windows Credential Manager o libsecret en Linux) y no se escriben en archivos de configuración.
- El modo observador lee los mensajes de un tema sin conectarse a un grupo de consumidores, sin comprometer desplazamientos y sin efectos secundarios del clúster. Un modo de consumidor independiente permite conectarse al grupo y comprometer desplazamientos manualmente.
- Navegación por fecha y hora: navegue a los mensajes por fecha y hora específicas sin calcular manualmente los desfases. Métodos de autenticación compatibles: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (flujo de token estático y credenciales de cliente), TLS con verificación de certificado. servidor, mTLS (autenticación de certificado mutuo).
- Visualización de mensajes en streaming con filtrado de expresiones regulares en tiempo real para claves y valores. Se admite la monitorización simultánea de varios temas en pestañas independientes. La virtualización de listas permite mostrar más de 50 000 mensajes sin afectar el rendimiento.
- Gestión de temas: creación, eliminación, cambio de parámetros de configuración, visualización de particiones, líderes y el conjunto de réplicas sincronizadas (ISR).
- Administrar grupos de consumidores: ver el retraso por partición, restablecer las compensaciones a la fecha y hora más temprana, más tardía o específica, ver los miembros del grupo (ID del cliente, host, temas asignados), eliminar grupos.
- Envío de mensajes con clave, valor, encabezados y sección de destino especificados.
- Organización de temas: fija los temas usados con frecuencia, agrúpalos en carpetas con nombre, busca con soporte para expresiones regulares y filtra por un número mínimo de secciones.
- Exportar búfer de mensajes en formato JSON o CSV.
- Integración con Confluent Schema Registry para la decodificación automática de mensajes de Avro.
- Un sistema de complementos de JavaScript para la decodificación personalizada de mensajes (Protobuf, MessagePack y otros formatos).
- Importe y exporte configuraciones en formato JSON, incluidos perfiles, grupos de temas y temas fijados.
Fuente: opennet.ru
