RabbitMQ Messaging Topology Kubernetes Operator
Kubernetes operator to manage RabbitMQ messaging topologies within a RabbitMQ cluster deployed via the RabbitMQ Cluster Kubernetes Operator. This repository contains custom controllers and custom resource definitions (CRDs) enabling a declarative API for RabbitMQ messaging topologies.
Note: This project is under active development and is provided as alpha software. There is no guarantee of API backwards compatibility, release schedule, or providing support.
Quickstart
Before deploying Messaging Topology Operator, you need to have:
- A Running k8s cluster
- RabbitMQ Cluster Operator installed in the k8s cluster
- A RabbitMQ cluster deployed using the Cluster Operator
If you have cert-manager 1.2.0
or above installed in your k8s cluster, and kubectl
configured to access your running k8s cluster, you can then run the following command to install the Messaging Topology Operator:
kubectl apply -f https://github.com/rabbitmq/messaging-topology-operator/releases/latest/download/messaging-topology-operator-with-certmanager.yml
You can create RabbitMQ resources:
- Queue
- Exchange
- Binding
- User
- Vhost
- Policy
Install without cert-manager
If you do not have cert-manager installed in your k8s cluster, you will need to generate certificates used by admission webhooks yourself and include them in the operator and webhooks manifests.
You can follow this doc.
Contributing
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.
License
Licensed under the MPL, same as RabbitMQ server and cluster operator.
Copyright
Copyright 2021 VMware, Inc. All Rights Reserved.