WIP: Driving the goals and implementation of the UI with this README, please feel free to provide feedback and ideas through issues.
The Query/Response UI helps you gain insights and observe your active service landscape by providing rich information about how queries and responses are flowing throughout the system, in real-time.
The Query/Response UI makes use of the messaging network, and is eating its own dog food, by using queries to gather information about the current active system.
The Query/Response UI is available as a public published container image, from the [ghcr.io] (Github Container Registry) as one of the available packages in this project.
docker pull ghcr.io/olle/query-response-spring-amqp/query-response-ui:latest
To try it out start by ensuring there's a running AMQP broker in a network that is accessible by the container.
docker network create --driver bridge qr-net
docker run -dit -p 15672:15672 --network qr-net --hostname broker rabbitmq:3-management
Check that the RabbitMQ broker is running, by visiting the management UI at
http://localhost:15672
. Now you can start the Query/Response UI container,
connecting it to the network and broker.
docker run -dit -p 8080:8080 \
--network qr-net \
-e SPRING_RABBITMQ_HOST=broker \
ghcr.io/olle/query-response-spring-amqp/query-response-ui:latest
And browse to http://localhost:8080
.
The simplest way to start the UI is to run it locally by issuing make
. This
will start the Spring Boot® application. The Query/Response UI application is
served at http://localhost:8080 by default.
The default Spring AMQP configuration will attempt to connect to a local
broker on port 5672 with guest/guest
. To use another RabbitMQ or other
credentials you can provide the command line arguments:
-Dspring.rabbitmq.host=hostname
-Dspring.rabbitmq.username=user
-Dspring.rabbitmq.password=password
Or set the environment variables:
SPRING_RABBITMQ_HOST
SPRING_RABBITMQ_USERNAME
SPRING_RABBITMQ_PASSWORD
.
The Query/Response UI is intended to be a rather thick client or Single Page
Application (SPA). It is built with the Vue framework. It is easy to start
in development mode, using the make dev
target. The Vue application is
available at http://localhost:3000.
The SPA source files and modules can all be found under src/main/web
.
The client SPA is both served and supported by a Java, Spring Boot application. The backend supports web sockets, and publishes updates to the client UI.
Happy hacking!
Spring Boot is a trademark of Pivotal Software, Inc. in the U.S. and other countries.