This repository contains the source code for the Danube Admin UI, a modern web interface for managing and monitoring a Danube messaging cluster.
The UI is built with React, TypeScript, and MUI, and it communicates with the danube-admin-gateway backend service.
Cluster Listing:
Overview of the cluster, shows all the brokers from the cluster.
Actions:
- Unload broker, moves all topics to another available broker
- Activate a drained broker, in order to resume accepting new topics
- Click a broker row to open its details.
Broker Details:
Overview of the broker and the topics table associated with the broker.
Actions:
- Create topic, creates a topic in the cluster
- Move topic to another available broker, cluster leader selects the target broker
- Delete topic, removes the topic from the cluster
- Click a topic row to open its details.
Topics:
Overview of the topics in the cluster. The NonReliable and Reliable topic is a dispatch / persistence mode, see the Danube dispatch strategy for more details.
Actions:
- Create topic, creates a topic in the cluster
- Move topic to another available broker, cluster leader selects the target broker
- Delete topic, removes the topic from the cluster
- Click a topic row to open its details.
Run the UI in a container with minimal steps. Host port matches docker-compose (5173).
docker build -t danube-admin-ui .
docker run -d --name danube-admin-ui -p 5173:80 danube-admin-uiOpen: http://localhost:5173
Note: The UI expects the gateway at http://localhost:8080 by default.
To stop/remove:
docker stop danube-admin-ui && docker rm danube-admin-uiIf you want to contribute to the development of the UI, you can set up a local development environment using docker-compose.
- Docker must be installed and running on your system.
- Docker Compose
1.Run the development environment:
This command will start the application and all the required services. The --build flag will build the images if they don't exist.
docker-compose up --build2.Stopping the development environment: To stop the application and remove the containers, use the following command:
docker-compose downThe application will be available at http://localhost:5173 and will automatically reload when you make changes to the code.


