rabbitmq / cluster-operator

RabbitMQ Cluster Kubernetes Operator
https://www.rabbitmq.com/kubernetes/operator/operator-overview.html
Mozilla Public License 2.0
881 stars 272 forks source link
go kubernetes kubernetes-operator rabbitmq

RabbitMQ Cluster Kubernetes Operator

Kubernetes operator to deploy and manage RabbitMQ clusters. This repository contains a custom controller and custom resource definition (CRD) designed for the lifecycle (creation, upgrade, graceful shutdown) of a RabbitMQ cluster.

Quickstart

If you have a running Kubernetes cluster and kubectl configured to access it, run the following command to install the operator:

kubectl apply -f https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml

Then you can deploy a RabbitMQ cluster:

kubectl apply -f https://raw.githubusercontent.com/rabbitmq/cluster-operator/main/docs/examples/hello-world/rabbitmq.yaml

Documentation

RabbitMQ Cluster Kubernetes Operator is covered by several guides:

In addition, a number of code examples can be found in this repository.

The doc guides are open source. The source can be found in the RabbitMQ website repository under site/kubernetes.

Supported Versions

The operator deploys RabbitMQ 4.0.3 by default, and should work with any supported RabbitMQ version and Kubernetes version.

Versioning

RabbitMQ Cluster Kubernetes Operator follows non-strict semver.

The versioning guidelines document contains guidelines on how we implement non-strict semver. The version number MAY or MAY NOT follow the semver rules. Hence, we highly recommend to read the release notes to understand the changes and their potential impact for any release.

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.

Releasing

To release a new version of the Cluster Operator, create a versioned tag (e.g. v1.2.3) of the repo, and the release pipeline will generate a new draft release, alongside release artefacts.

License

Licensed under the MPL, same as RabbitMQ server.

Copyright

(c) 2007-2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.

Go Report Card