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.

License

Notifications You must be signed in to change notification settings

jrevillard/kafkawize

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kafkawize

Kafkawize is a Self service Apache Kafka Topic Management tool/portal. It is a web application which automates the process of creating and browsing Kafka topics, acls, avro schemas, connectors by introducing roles/authorizations to users of various teams of an organization.

Features

Built With

  • Bootstrap UI, Angular, Javascript, HTML, CSS
  • Maven - Dependency Management
  • Java, Spring boot, Spring security, SQL, Kafka Admin client

Versioning

For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the Apache License - see the LICENSE.md file for details.

Architecture:

Architecture

Dependency project:

ClusterApi

https://github.com/muralibasani/kafkawizeclusterapi

Features:

  • Topics (approval): Create, Update, Delete, Promote

  • Acls (approval): Create,Delete

  • Connectors (approval): Create

    • Any connector can be created as long as the required plugin libraries are installed on the server.
  • Avro Schemas (approval): Create

    • View all available versions of the subjects per topic
  • Topic Overview :

    • Topic Config
    • Promote
    • Literal and Prefixed subscriptions
    • Topic documentation
    • Consumer offsets/ lag
    • View topic contents
  • View created, completed, declined, all Topic requests

  • View created, completed, declined, all Acl requests

  • View created, completed, declined, all Connector requests

  • View created, completed, declined, all Avro schema requests

  • Synchronization from and to kafka clusters

  • Reconciliation and email notifications on differences between Kafkawize and Clusters

  • Restore configuration (topics, acls)

  • Login

    • Active directory integration
    • Single Sign-on (OAuth2)
    • Basesd on database
  • Configure Clusters and Environments

    • Clusters can be created connecting to Kafka clusters. (Cluster Management Api should be configured)
    • Environments are wrappers over clusters, enforcing flexible configs like prefix, suffix etc
  • Users, Teams & Authorizations

    • Configurable users, teams
    • More than 35 permissions
    • Configurable roles (Roles can be pulled from AD for authorization)
  • Topic naming conventions

    • Enforce prefix and suffixes per environment
  • Excel report (for your team and all teams, depending on the role)

    • Topics per cluster (for teams)
    • Partitions per cluster
    • Overall topics in all clusters
    • Acls per cluster (for teams)
    • Producer Acls (for teams)
    • Consumer Acls (for teams)
    • Consumer groups of all environments
    • Requests per day
  • Analytics

    • View charts of topics, partitions, acls, requests
  • Multi tenancy

    • Each tenant can manage their topics with their own teams in isolation.
    • Every tenant can have their own set of Kafka environments, and users of one tenant cannot view/access topics, acls or any from other tenants.
    • It provides an isolation avoiding any security breach.
  • Kafka Connectivity

    • PLAINTEXT, SSL, SASL
  • Audit

    • All topic, acl, schema and connector requests
  • Email notifications when

    • requests are created, approved, declined
    • users are created, approved
  • Help Wizard to setup Kafkawize

  • Documentation : https://kafkawize.readthedocs.io/en/latest

Install

mvn clean install

and follow steps defined at https://kafkawize.readthedocs.io/en/latest

Setup steps

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 37.4%
  • Java 24.4%
  • JavaScript 22.9%
  • CSS 10.5%
  • SCSS 4.4%
  • Less 0.4%