NOTE: This software is provided in an alpha state, as a preview of upcoming RabbitMQ features, and as such provides no guarantees of stability.
This Kubernetes operator serves as an automated orchestration layer to create a single-active-consumer topology on a RabbitMQ Cluster with SuperStreams. In this topology, a single SuperStream can be partitioned into smaller partition streams; the purpose of this operator is to ensure that for each partition, exactly one application Pod is consuming from the partition stream at any given time.
Before deploying the Single Active Consumer Operator, you need to have:
- A Running k8s cluster
- RabbitMQ Cluster Operator installed in the k8s cluster
- RabbitMQ Messaging Topology Operator installed in the k8s cluster
- Cert-manager installed in the k8s cluster
- A RabbitMQ cluster deployed using the Cluster Operator, running RabbitMQ 3.9 and with the streams plugin enabled
Assuming you have kubectl
configured to access your running k8s cluster, you can then run the following command to install the Single Active Consumer Topology Operator:
kubectl apply -f https://github.com/rabbitmq/single-active-consumer-operator/releases/latest/download/single-active-consumer-operator-with-certmanager.yaml
A documented example of using this topology can be found in the examples directory.
This project follows the typical GitHub pull request model. Before starting any work, please either comment on an existing issue, or file a new one.
Please read contribution guidelines if you are interested in contributing to this project.
Licensed under the MPL, same as RabbitMQ server and operators.
Copyright 2022 VMware, Inc. All Rights Reserved.