https://github.com/epam/eco-schema-catalog
Eco Schema Catalog
https://github.com/epam/eco-schema-catalog
Last synced: 5 months ago
JSON representation
Eco Schema Catalog
- Host: GitHub
- URL: https://github.com/epam/eco-schema-catalog
- Owner: epam
- License: apache-2.0
- Created: 2019-09-17T14:28:42.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-09-04T13:32:35.000Z (11 months ago)
- Last Synced: 2025-09-04T15:24:10.084Z (11 months ago)
- Language: Java
- Homepage:
- Size: 8.31 MB
- Stars: 14
- Watchers: 8
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Eco Schema Catalog
Eco Schema Catalog is a set of services, components, and utilities aimed at providing additional features on top of
the [Schema Registry](https://docs.confluent.io/platform/7.4.0/schema-registry/index.html).
With Eco Schema Catalog you can use:
* Web UI to search, view, evolve, and configure schemas.
* Various services to work with schemas.
* Utilities, helpers, and other classes that extend and augment the Schema Registry library.
The currently supported version of Confluent
is [7.4.0](https://docs.confluent.io/platform/7.4.0/schema-registry/index.html)
## Project structure
The repository contains the following packages:
* [rest](/rest) - RESTful interface (backend)
* [ui](/ui) - web UI (frontend)
* [commons](/commons) - common models, utilities, extensions, etc
* [store](/store) - service to access data in
the [Schema Registry](https://docs.confluent.io/platform/current/schema-registry/index.html) store, manage metadata,
etc
* [fts](/fts) - service that enables Full-Text Search (FTS) capabilities against the store
* [client](/client) - REST client
## Building artifacts
To build artifacts, run the following command sequence:
```
git clone git@github.com:epam/eco-schema-catalog.git
cd eco-schema-catalog
mvn clean package
```
To skip tests, JavaDocs, and static code analysis, run:
```
mvn clean package -PpackageOnly
```
## Quick start
The prerequisites for the quick start include:
* [Docker](https://www.docker.com/get-started)
* [Docker Compose](https://docs.docker.com/compose/install/)
The infrastructure example could be found in [docker-compose.yml](../docker-compose.yml), which also could be used for
launching Manual integration tests.
### Installation to connect to an existing Confluent Platform
The installation consists of two services:
* Schema Catalog REST
* Schema Catalog UI
Note: Specify suitable values for `SCHEMA_REGISTRY_URL` and `KAFKA_SERVERS_URL`.
For Linux, run the following command sequence:
```
git clone git@github.com:epam/eco-schema-catalog.git
cd eco-schema-catalog
export SCHEMA_REGISTRY_URL="http://schema-registry:8081"
export KAFKA_SERVERS_URL="kafka:9092"
docker-compose -f docker/docker-compose.yaml up
```
For Windows (Powershell), run the following command sequence:
```
git clone git@github.com:epam/eco-schema-catalog.git
cd eco-schema-catalog
$env:SCHEMA_REGISTRY_URL="http://schema-registry:8081"
$env:KAFKA_SERVERS_URL="kafka:9092"
docker-compose -f docker/docker-compose.yaml up
```
To open Schema Catalog web interface, go to [http://localhost:8282](http://localhost:8282)
To stop all services, run:
```
docker-compose -f docker/docker-compose.yaml down
```
### All-in-one installation
The installation consists of:
* Zookeeper
* Kafka
* Schema Registry
* Schema Catalog REST
* Schema Catalog UI
* Elasticsearch
Run the following command sequence:
```
git clone git@github.com:epam/eco-schema-catalog.git
cd eco-schema-catalog
docker-compose -f docker/docker-compose-all.yaml up
```
To open Schema Catalog web interface, go to [http://localhost:8282](http://localhost:8282)
To stop all services, run:
```
docker-compose -f docker/docker-compose-all.yaml down
```
## Compatibility matrix
Eco Schema Catalog | Confluent Platform | Kafka | Java version
--------------------|--------------------|-------|--------------
3.1.x | 7.4.0 | 3.4.x | 17
3.0.x | 7.0.8 | 3.0.x | 17
2.0.x | 7.0.1 | 3.0.x | 8
1.3.x | 5.3.x | 2.3.x | 8
1.2.x | 5.2.x | 2.2.x | 8
1.1.x | 5.1.x | 2.1.x | 8
1.0.x | 5.0.x | 2.0.x | 8
0.1.x | 4.0.x | 1.0.x | 8
## License
Eco Schema Catalog is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)