Skip to content

RabbitMQ

Introduction

RabbitMQ is an open source message broker software. It enables back messaging to participants triggered by an action within the internal cluster. Each app operates within its own virtual host in RabbitMQ. Within these vhosts, a message is sent when invoked in the AppResource. The RabbitMQ broker routes these messages to queues, and channels allow for the declaration of exchanges and the binding of queues to exchanges, before the message is finally transmitted to the exchange between app and client with specified properties.

Access to the Management User Interface

For developers, the management ui of the RabbitMQ service is accessible via port forward. In the local Tilt setup, this is achieved by a predefined port forwarding. To log in, you need a username and a password. The username is 'eurodat', and for local development, the password is 'pwd'. In the case of development in the cloud, do a port forwarding within k9s. The password is auto-generated and can be retrieved from the 'rabbitmq-password-secret' in the kubernetes cluster.

Access to the Message Queue

To access the message queue a port mapping is established with a GitLab CI/CD variable which contains assigned ports for individual instances. This ensures that each developer's instance remains unaffected by deployments. The credentials for reaching the RabbitMQ API endpoint are given by the credential service after Keycloak authorization. The response contains the URL, username and password which are for a read-only user in the app's vhost.