• Stars
    star
    231
  • Rank 173,434 (Top 4 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A web UI for Debezium; Please log issues at https://issues.redhat.com/browse/DBZ.

License User chat Developer chat Google Group Stack Overflow

Copyright Debezium Authors. Licensed under the Apache License, Version 2.0.

Debezium UI

WEB UI SAMPLE

Debezium is an open source distributed platform for change data capture (CDC).

This repository contains a web-based UI for Debezium, allowing to configure Debezium connectors in an intuitive way, control their lifecycle, and more. The Debezium UI is a standalone web application, which connects to Kafka Connect via its REST API.

This project is under active development, any contributions are very welcome.

Prerequisites

Debezium UI needs a properly running Debezium instance version 1.4.0.Beta1 or newer and running DB instances, depending on what connectors you are going to use (Postgres, Mongo DB, MySQL, etc).

DEV Infrastructure with Docker-Compose

You can setup a running DEV infrastructure with Zookeeper, Kafka, Debezium, Postgres and Mongo DB using docker-compose:

## optionally make sure you have the latest images:
$ docker-compose pull

Pulling dbzui-zookeeper ... done
Pulling dbzui-db-mongo  ... done
Pulling dbzui-db-mysql  ... done
Pulling debezium-ui_mongo-initializer_1 ... done
Pulling dbzui-kafka     ... done
Pulling dbzui-db-pg     ... done
Pulling dbzui-connect   ... done

## start containers
$ docker-compose up -d

Creating dbzui-db-mysql  ... done
Creating dbzui-db-pg     ... done
Creating dbzui-zookeeper ... done
Creating dbzui-db-mongo  ... done
Creating debezium-ui_mongo-initializer_1 ... done
Creating dbzui-kafka     ... done
Creating dbzui-connect   ... done

Debezium UI will be available on http://localhost:8080
Kafka Connect REST API with Debezium will be available on local port 8083.
Postgres will be available on local port 65432.
MySQL will be available on local port 63306.
Mongo DB will be availaible after ~20 seconds on local port 37017 (connect via mongo -u debezium -p dbz --authenticationDatabase admin localhost:37017/inventory) Kafka will be available on local port 9092.

## later stop containers:
$ docker-compose down

Stopping dbzui-connect   ... done
Stopping dbzui-kafka     ... done
Stopping dbzui-zookeeper ... done
Stopping dbzui-db-mongo  ... done
Stopping debezium-ui_mongo-initializer_1 ... done
Stopping dbzui-db-pg     ... done
Stopping dbzui-db-mysql  ... done
Removing dbzui-connect   ... done
Removing dbzui-kafka     ... done
Removing dbzui-zookeeper ... done
Removing dbzui-db-mongo  ... done
Removing debezium-ui_mongo-initializer_1 ... done
Removing dbzui-db-pg     ... done
Removing dbzui-db-mysql  ... done
Removing network debezium-ui_dbzui-network

Build

The entire application (UI and backend) can be built via Maven:

./mvnw clean install

The UI part is an single-page application (SPA) based on the React framework. It is packaged as JAR, whose contents are then exposed by the Quarkus-based backend application.

Backend

The UI backend is a Quarkus application located under backend. You can run it in development mode like so:

./mvnw -am -pl backend package quarkus:dev

Swagger UI can be accessed from: http://localhost:8080/swagger-ui/

UI Development

The UI frontend code is located under the ui folder. See the UI README for more information about UI development.

Contributing

The Debezium community welcomes anyone that wants to help out in any way, whether that includes reporting problems, helping with documentation, or contributing code changes to fix bugs, add tests, or implement new features. See this document for details.

More Repositories

1

debezium

Change data capture for a variety of databases. Please log issues at https://issues.redhat.com/browse/DBZ.
Java
8,957
star
2

debezium-examples

Examples for running Debezium (Configuration, Docker Compose files etc.)
JavaScript
1,250
star
3

container-images

Docker images for Debezium. Please log issues in our JIRA at https://issues.redhat.com/projects/DBZ/summary
Shell
305
star
4

debezium-incubator

Previously used repository for new Debezium modules and connectors in incubation phase (archived)
89
star
5

debezium-connector-vitess

An incubating Debezium CDC connector for Vitess
Java
40
star
6

debezium.github.io

Source for the Debezium website; Please log issues in our tracker at https://issues.redhat.com/projects/DBZ/.
CSS
33
star
7

debezium-connector-cassandra

An incubating Debezium CDC connector for Apache Cassandra
Java
26
star
8

debezium-connector-jdbc

An exploration for building a JDBC sink connector aware of the Debezium change event format
Java
25
star
9

debezium-design-documents

25
star
10

debezium-kubernetes

ARCHIVED: Run Debezium/KafkaConnect CDC components in Kubernetes
Java
23
star
11

oracle-vagrant-box

A Vagrant box for creating a custom Docker image of Oracle DB for testing purposes
Shell
21
star
12

debezium-server

Debezium Server runtime for standalone execution of Debezium connectors
Java
20
star
13

debezium-connector-db2

An incubating Debezium connector for Db2
Java
16
star
14

debezium-connector-spanner

An incubating Debezium CDC connector for Google Spanner
Java
6
star
15

debezium-platform-conductor

Backend component of Debezium Management Platform
Java
2
star
16

debezium-operator

Java
1
star