←Marketplace

RabbitMQ

Description

Deploys a production-ready RabbitMQ cluster, run by the official RabbitMQ operators.

Declare the users, vhosts, queues, exchanges, bindings, and policies below; every deploy reconciles the broker to match. Services connect over AMQP using the connection outputs.

Configuration Inputs

This blueprint accepts 18 configurable inputs to customize the installation for your environment.

exposeManagementUIboolean

Publish the management UI at a public HTTPS URL, protected only by the RabbitMQ credentials. Leave off to keep it in-cluster on port 15672.

adminUsernamestring

Username for the RabbitMQ administrator account.

adminPasswordstring

Password for the administrator account. Applied on first boot; changing it later has no effect.

createAppUserboolean

Create a non-admin user for your applications, with full permissions on the vhost below and every vhost under Topology.

appUsernamestring

Username your applications authenticate with.

appPasswordstring

Password for the application user. Can be rotated after install.

appVhoststring

Vhost the application user connects to. Created if it does not exist; only list it under Vhosts to set its default queue type.

sizestring

CPU and memory requested by each replica. A replica that does not fit your nodes stays Pending.

replicasstring

How many RabbitMQ nodes to run. Three survives losing one; a single node has no redundancy.

storageSizeGinumber

Volume size per replica, in GiB. Can be grown later, never shrunk.

storageClassNamestring

Storage class for the replica volumes, which sets disk type and IOPS. Empty uses the cluster default.

topologyAllowedNamespacesarray

Other namespaces allowed to declare topology against this cluster.

vhostDefinitionsstring

Virtual hosts to create, as a YAML list. Each is an isolated namespace for queues and exchanges, and the application user gets access to all of them. ```yaml - name: orders defaultQueueType: quorum ```

queueDefinitionsstring

Queues to create, as a YAML list. Quorum queues replicate across nodes; classic queues live on one. Omit `vhost` to use `/`. ```yaml - name: order.events vhost: / type: quorum durable: true ```

exchangeDefinitionsstring

Exchanges to create, as a YAML list. `type` is `direct`, `topic`, `fanout`, or `headers`, and cannot be changed later. ```yaml - name: events type: topic durable: true ```

bindingDefinitionsstring

Routes from an exchange to a queue or another exchange, as a YAML list. Source and destination must exist in the same vhost. ```yaml - source: events destination: order.events destinationType: queue routingKey: "order.#" ```

policyDefinitionsstring

Policies applied to queues or exchanges matching a name pattern, as a YAML list. Sets message TTLs, length limits, and dead-lettering; highest-priority match wins. ```yaml - name: order-events-ttl pattern: "^order\\." applyTo: queues definition: message-ttl: 86400000 max-length: 1000000 ```

enableMetricsboolean

Scrape queue depth, message rates, and node health into dashboards and alerts.

Outputs

This blueprint exposes 8 outputs that other services can reference.

adminUsernamestring

Username for the RabbitMQ admin account.

adminCredentialsSecretNamestring

Kubernetes Secret containing the admin username and password.

appUsernamestring

Username for the initial RabbitMQ user.

appCredentialsSecretNamestring

Kubernetes Secret containing the initial RabbitMQ user credentials.

appVhoststring

Primary virtual host for the initial RabbitMQ user.

hoststring

Internal hostname for AMQP connections.

amqpPortstring

AMQP protocol port.

managementPortstring

RabbitMQ management UI port.