KGO (Kafka governance) is a web UI that enables you to govern your Kafka clusters. Currently does KGO support the following Confluent APIs:
🚧 Before getting started make sure that Confluent schema registry or proxy is setup.
In order to get started do you need to have docker
installed.
You could pull the docker image from docker hub or build the application yourself.
Docker
$ ...
Locally
$ git clone git@github.com:sysco-middleware/KGO.git
$ cd KGO
Modify or set the configuration options at /public/config.js
.
You could create a docker image or run the application locally.
$ npm install
$ npm run serve
When wanting to update KGO, pull the latest changes from git or docker hub.
Listed below are all available config options and their default values. If a API url is not given will that module be disabled.
The config.js
file should be located in the public directory (/public/config.js
).
Multiple clusters could be defined inside the config. This allowes to quickly switch between clusters.
window.config = [{
"name": "cluster 1", // Kafka cluster name
"kafka.rest.proxy.api": "http://127.0.0.1:8082", // Confluent Kafka REST Proxy
"schema.registry.api": "http://127.0.0.1:8081" // Confluent Schema Registry
}, {
"name": "cluster 2",
"kafka.rest.proxy.api": "http://127.0.0.1:8082",
"schema.registry.api": "http://127.0.0.1:8081"
}]
An example docker compose file is included inside this project.
You will need to enable CORS in your schema registry service. Open and modify the schema registry properties file.
confluent-x.x.x/etc/(schema-registry|kafka-rest)/(schema-registry|kafka-rest).properties
Set the allow origin to any hostname (*
) or to the hostname where the UI will be hosted (http://example.com
).
You can read more about CORS at MDN.
access.control.allow.methods=GET,POST,PUT,OPTIONS
access.control.allow.origin=*
Please read through our contributing guidelines.
This project will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format:
<major>.<minor>.<patch>