schema-registry-ui
This is a web tool for the confluentinc/schema-registry in order to create / view / search / evolve / view history & configure Avro schemas of your Kafka cluster.
Live Demo
schema-registry-ui.demo.lenses.io
Prerequisites
You will need schema-registry installed with CORS enabled.
In order to enable CORS, add in /opt/confluent-3.x.x/etc/schema-registry/schema-registry.properties
access.control.allow.methods=GET,POST,PUT,OPTIONS
access.control.allow.origin=*
And then restart the [schema-registry] service
Get the set up locally
We also provide the schema-registry and schema-registry-ui as part of the fast-data-dev docker image for local development setup that also gives all the relevant backends. Just run:
docker run -d --name=fast-data-dev -p 8081:8081 landoop/fast-data-dev
Checkout more about fast-data-dev docker container here
Running it via Docker
To run it via the provided docker image:
docker pull landoop/schema-registry-ui
docker run --rm -p 8000:8000 \
-e "SCHEMAREGISTRY_URL=http://confluent-schema-registry-host:port" \
landoop/schema-registry-ui
Please see the docker readme for more information and how to enable various features or avoid CORS issues via the proxy flag.
Build from source
git clone https://github.com/Landoop/schema-registry-ui.git
cd schema-registry-ui
npm install
npm start
Web UI will be available at http://localhost:8080
Nginx config
If you use nginx
to serve this ui, let angular manage routing with
location / {
try_files $uri $uri/ /index.html =404;
root /folder-with-schema-registry-ui/;
}
Setup Schema Registry clusters
Use multiple schema registry clusters in env.js
:
var clusters = [
{
NAME:"prod",
// Schema Registry service URL (i.e. http://localhost:8081)
SCHEMA_REGISTRY: "http://localhost:8081", // https://schema-registry.demo.landoop.com
COLOR: "#141414", // optional
readonlyMode: true // optional
},
{
NAME:"dev",
SCHEMA_REGISTRY: "http://localhost:8383",
COLOR: "red", // optional
allowGlobalConfigChanges: true, // optional
//allowTransitiveCompatibilities: true // if using a Confluent Platform release >= 3.1.1 uncomment this line
}
];
- Use
COLOR
to set different header colors for each set up cluster. - Use
allowGlobalConfigChanges
to enable configuring Global Compatibility Level from the UI. - Use
allowTransitiveCompatibilities
to enable transitive compatibility levels. This is supported in SR >= 3.1.1 - Use
allowSchemaDeletion
to enable schema deletion from the UI. This is supported in SR >= 3.3.0 - Use
readonlyMode
to prevent any configuration or schema changes from the UI. It overwrites the previous parameters (allowGlobalConfigChanges
,allowSchemaDeletion
).
Changelog
License
The project is licensed under the BSL license.
Relevant Projects
- kafka-topics-ui, UI to browse Kafka data and work with Kafka Topics
- kafka-connect-ui, Set up and manage connectors for multiple connect clusters
- fast-data-dev, Docker for Kafka developers (schema-registry,kafka-rest,zoo,brokers,landoop)
- Landoop-On-Cloudera, Install and manage your kafka streaming-platform on you Cloudera CDH cluster