The External Secrets Enterprise Edition product suite is a premium product.
It requires a specific subscription. Contact us for more information.
It requires a specific subscription. Contact us for more information.
To use the RabbitMQ Generator, you must have the External Secrets Enterprise Edition available via ESI Agent or via our Helm chart bundle
Introduction
The RabbitMQ Generator allows you to rotate passwords for existing RabbitMQ users automatically.It supports secure password generation via ESO’s internal password generator or by referencing a Kubernetes Secret. This is useful for enforcing password rotation policies, avoiding manual interaction with RabbitMQ APIs, and improving security for RabbitMQ deployments.
Output Keys and Values
| Key | Description |
|---|---|
password | The rotated RabbitMQ user password (plain text) |
Parameters
| Key | Default | Description |
|---|---|---|
server.host | Required | The hostname of the RabbitMQ server. |
server.port | 15672 | Port to connect to the RabbitMQ HTTP API. |
server.tls | false | Use TLS for connection to the RabbitMQ API. |
auth.basicAuth.username | Required | Admin username with sufficient privileges. |
auth.basicAuth.passwordSecretRef | Required | Secret containing the admin password. |
config.username | Required | The RabbitMQ user to rotate the password for. |
config.passwordPolicy.passwordGeneratorRef | Optional | Reference to a Password Generator. |
config.passwordPolicy.secretRef | Optional | Reference to a static password in a Secret. |
Set up
Required RabbitMQ Permissions
The credentials provided underauth.basicAuth must belong to a user that has permission to view and update users via the RabbitMQ HTTP API.
In most setups, this means the user must have the administrator tag in RabbitMQ.
Generator Config
You can either use a Password Generator or a fixed Secret. Below are examples for both approaches.ExternalSecret Config
Using the Generated Secret
Notes and Considerations
- The generator does not create new users; it only updates the password for an existing RabbitMQ user.
- Passwords are hashed using the
SHA-256algorithm and sent via the RabbitMQ HTTP API. - If the password is already up to date (i.e., the hash matches), no update request is sent.
- Only one password source must be provided: either
passwordGeneratorReforsecretRef. - TLS should be enabled in production environments for secure communication with the RabbitMQ API.