Release of kafkalet 0.1, a desktop client for Apache Kafka

Kafkalet 0.1, a desktop graphical client for Apache Kafka, has been released. The application is delivered as a self-contained binary file, approximately 15 MB in size, and does not require installing a JVM, Docker, or running server components. The project's code is written in Go and TypeScript and is distributed under the MIT license. Builds are available for macOS (Intel and Apple Silicon), Windows, and Linux.

Unlike existing web-based tools like Kafka UI and AKHQ, which require deploying a server process in Docker, kafkalet runs as a regular desktop application—similar to DBeaver or DataGrip for databases. Until now, the only desktop Kafka client was Offset Explorer (formerly Kafka Tool), written in Java and not updated in a long time. kafkalet is built on the Wails v2 framework, which combines a Go backend with a web interface written in React 18, TypeScript, and shadcn/ui into a single native binary. For interaction with Kafka, the franz-go library is used, implemented in pure Go without dependencies on librdkafka or CGO.

Key features:

  • A profile system for managing multiple environments (production, staging, and dev). Each broker in a profile can have multiple named accounts with the ability to quickly switch between them. Passwords and tokens are stored exclusively in the OS's system secrets store (macOS Keychain, Windows Credential Manager, or libsecret on Linux) and are not written to configuration files.
  • Observer mode reads messages from a topic without connecting to a consumer group, without committing offsets, and without any cluster side effects. A separate Consumer mode allows you to connect to the group and commit offsets manually.
  • Seek to timestamp navigation—navigate to messages by a specified date and time without manually calculating offsets. Supported authentication methods: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (static token and client credentials flow), TLS with certificate verification Server, mTLS (mutual certificate authentication).
  • Streaming message viewing with real-time regex filtering for keys and values. Simultaneous monitoring of multiple topics in separate tabs is supported. List virtualization allows displaying over 50,000 messages without impacting performance.
  • Topic management: creating, deleting, changing configuration parameters, viewing partitions, leaders, and the set of synchronized replicas (ISR).  Release of kafkalet 0.1, a desktop client for Apache Kafka
  • Managing consumer groups: viewing lag by partition, resetting offsets to earliest, latest, or a specific timestamp, viewing group members (client ID, host, assigned topics), deleting groups.
  • Sending messages with key, value, headers, and target section specified.  Release of kafkalet 0.1, a desktop client for Apache Kafka
  • Topic organization: pin frequently used topics, group them into named folders, search with support for regular expressions and filtering by a minimum number of sections.
  • Export message buffer in JSON or CSV format.
  • Integration with Confluent Schema Registry for automatic decoding of Avro messages.
  • A system of JavaScript plugins for custom decoding of messages (Protobuf, MessagePack and other formats).
  • Import and export settings in JSON format, including profiles, topic groups, and pinned topics.

Source: opennet.ru

Add a comment