Skip to content
Kafkawize : A Self service Apache Kafka Topic Management tool/portal. A Web application which automates the process of creating and browsing Kafka topics, acls, schemas by introducing roles/authorizations to users of various teams of an org.
Branch: master
Clone or download
muralibasani Merge pull request #10 from muralibasani/ui_new
Updated front end, look and feel and layout
Latest commit f399959 Apr 20, 2019

README.md

Download the full bundle from https://kafkawize.com/download-kafkawize/ and follow the instructions.

Kafkawize : A Web application which automates the process of creating and browsing Kafka topics, acls, schemas, by introducing roles/authorizations to users of various teams of an organization

About the Application

Objective :
Automate the process of creating and browsing Kafka components, by introducing roles, teams and users.

Technical Architecture:

ImageFig1

Kafkawize contains two main APIs. (User Interface API and Cluster management API)

User Interface API directly communicates between users and Cluster API.

Front end is built with AngularJs, HTML, and Java script.

Cluster API acts as middle layer between Kafka brokers and UserInterface API.
Cluster API creates Kafka Admin Client and executes the requests for Topic, Acls or Schema registry.

Apache Cassandra Or RDBMS(MySql for ex) datastore stores all users, teams, topicRequests, request and execution data from all the users., and to maintain source of truth.

Spring Security, Spring Boot frameworks, Hibernate are used to develop this application.

Functionalities:

(Broadly divided into two categories based on user roles.)
ROLE : USER can request for creation of kafka components, and browse kafka components.
ROLE : ADMIN can approve and execute the requests of users to create kafka components.
ROLE : SUPERUSER can synchronize topicRequests meta information with Cassandra/Rdbms Datastore from Kafka Brokers (Source of Truth.)

Browse: (ROLE : USER, ADMIN, SUPERUSER)
All users can Browse Topics
All users can Browse Acls
All users can view the producers and consumers of all topicRequests.

Requests:(ROLE : USER)
Users can request for Kafka Topics
Users can request for Kafka Acl
Users can request for Schemas to be registered on Confluent Schema registry.
Users can view all the requests from his team.

Clusters:(ROLE : USER)
Users can view the available environments

Approve - Execute :(ROLE : ADMIN)
Users can appprove requests for creating Kafka Topics
Users can appprove requests for creating Kafka Acls
Users can appprove requests for uploading schemas on topicRequests

Users :(ROLE : ADMIN)
Users can view all user details
Users can add new users

Teams :(ROLE : ADMIN, SUPERUSER)
Users can view all team details
Users can add new team

Clusters:(ROLE : SUPERUSER)
Users can add a new environment environments

Synchronize Metadata :(ROLE : SUPERUSER)
Users can synchronize topicRequest information from Brokers with Cassandra/Rdbms datastore. (Update team info.)
Users can synchronize acls information from Brokers with Cassandra/Rdbms datastore. (Update team info.)

My Profile :(ROLE : USER, ADMIN)
Users can view their profile.

Change Password :(ROLE : USER, ADMIN)
Users can change their passwords.

Logout :(ROLE : USER, ADMIN)
Users can logout.

How to Run the application

Download the full bundle from https://kafkawize.com/download-kafkawize/ and follow the instructions.

Screenshots

ImageFig10

ImageFig8

ImageFig7

ImageFig12

ImageFig14

ImageFig13

ImageFig11

ImageFig6

ImageFig5

ImageFig15

ImageFig16

ImageFig2

ImageFig9

ImageFig3

ImageFig4

ImageFig17

You can’t perform that action at this time.