Creating a Free Kafka Tool for Efficient Data Management

Hi Community! I hope this isn’t seen as a plug – it isn’t a plug, there’s no product for sale or catch! We’re engineers who have built a free Kafka tool that we think others will love (at least, eventually) and contribute to its roadmap. Excuse the short-sighted name, but the tool is <https://www.kafkatopical.com/|KafkaTopical >(https://www.kafkatopical.com), v0.0.1 — “an easy-to-install, native Kafka client UI application for macOS, Windows, and Linux”.

We’ve used Kafka extensively, but we were never satisfied with the existing Kafka UI apps (they were often too clunky, slow, buggy, hard to set-up, or expensive). So, we decided to create KafkaTopical and while it has taken a lot of effort to get it to where it is, the hard & boring work is done, and improving on it will be the fun part we’ve been waiting for. Rather that list all of its existing features here, you can just try it out or read the site. If you want to see the state and config of your clusters, topics, schemas, or easily search and read events/messages, it’s all already in there.

Thanks a million and looking forward to anyone’s feedback / bug reports.

I wish all the Kafka GUI projects would join forces. There are just too many, and most of them are «crap». :wink:

A reminder of the Confluent Community Slack guidelines: http://cnfl.io/slack|cnfl.io/slack ----- If someone receives or witnesses misconduct within the Confluent Community Slack Channel, please fill in this short form: https://bit.ly/3nmEFAR - Thank you! (This is an automated message - it may follow a message that is not misconduct, if so please feel free to ignore :slight_smile: )

just a heads up that the ASF went after a bunch of projects named Kafka* a few years ago, so you might want to rename sooner than later :wink:
ref: https://www.apache.org/foundation/marks/faq/#products

Projects renamed away from the trademark (Kafka, Apache Kafka) e.g. kafkacatkcat, kafka-opsjulie-ops), or adopted the longer “xxx for Apache Kafka”

Thanks . Although I’d never seen that in writing, I had guessed/assumed something must have happened but never heard anyone actually say it.

You know what they say, naming is the hardest part of engineering :slightly_smiling_face:

We will change it in time.

: We agree most of the UIs leave a lot to be desired. But KafkaTopical is different in the sense that it isn’t motivated by sales or marketing, and it’s a traditional native desktop application. Certak is a lean team of engineers who are building a tool that we actually want/need to use daily. Try it out and give you feedback, all suggestions are welcome. It’s very, very early days and we’ll build whatever the community asks for as long as it’s beneficial for the majority.

In my case, I am NOT looking for a desktop application. What I would like to see is a web-based GUI that supported impersonating (on behalf of) the end-user towards Kafka. I don’t want my application to be a Kafka superuser. :slightly_smiling_face:

In fact, https://github.com/tchiotludo/akhq is pretty close to GUI we desire in the open landscape - except the missing impersonate feature. And the commercial solutions from e.g. Confluent and Conduktor are more to consider as admin tools.

: I’m not sure if I am understanding what you mean by “end-user”. The way we see it, there’s Kafka users and they have ACL, a “super user” is just a Kafka user with all or wildcard ACLs.

KafkaTopical, or any properly engineered webapp UI, should function using any user with any ACLs. If they have access to broker stats, then show it, if not then don’t. If they have access to create topics, allow it, otherwise don’t, etc. Show the topics they have access to, and not those that they don’t (they won’t even know they exist as Kafka won’t return them), etc.

For any application to operate as a “on-behalf of”, they either have to connect to Kafka using that user’s credentials – whether that’s a username and password, or a private key with a particular CN, or a whitelisted IP address, etc… or configure a new user with identical authentication and authorization (ACL) configuration to achieve the same effect.

The application, whether locally or on a server, is not going to store a users credentials, private keys, etc., just so it can perform an impersonation. That’s a huge security risk. Similarly, creating a new user with similar configuration, requires an awful lot of knowledge to cover all bases.

I think this feature is not available anywhere for the above reasons, and probably won’t be.

Definitely will give this a try, I have been using IDEA ultimate edition Kafka tool window/Confluent Control Center UI so far, but this app seems more streamlined, nice

  • Is there any how we can deploy KafkaTopical for Kubernates Kafka clusters.

Well… I’m sure there. It sort of depends on what you mean by deploy though. Do you mean running the software locally on your computer but able to connect to the cluster?

  • Our Kafka cluster are deployed in Kubernates. I need to deploy KafkaTopical in Kubernates and I need to access the KafkaTopical UI from our local computer.

: there is no backend to KafkaTopical.