finds.dev← search

// the find

rabbitmq/cluster-operator

★ 1,101 · Go · MPL-2.0 · updated Jun 2026

RabbitMQ Cluster Kubernetes Operator

The official Kubernetes operator from the RabbitMQ team at Broadcom, handling the full lifecycle of RabbitMQ clusters via a CRD. Targets teams running RabbitMQ on Kubernetes who want declarative cluster management rather than hand-rolled StatefulSet configs. This is the authoritative operator, not a community fork.

First-party support from the RabbitMQ team means the operator tracks RabbitMQ releases closely and ships with examples that actually work. The reconciliation logic is split into focused files (reconcile_tls.go, reconcile_scale_down.go, etc.) rather than one 2000-line controller, which makes it readable. Ships with a kubectl plugin for common operational tasks like getting credentials or running RabbitMQ CLI commands against a pod. Observability is taken seriously — bundled Grafana dashboards and Prometheus alerting rules for quorum queues, Raft, streams, and memory allocators.

Still on v1beta1 API after years of existence, which is a mild flag for anything you'd call production-stable — the CRD has never graduated to v1. The 'non-strict semver' versioning policy is a polite way of saying 'read the release notes every time'; you cannot safely automate upgrades without manual review. Multi-namespace support requires deploying separate operator instances rather than a single cluster-scoped operator, which gets painful at scale. No built-in support for blue/green or canary topology changes — you get rolling updates via StatefulSet semantics, which for RabbitMQ means careful partition tolerance math is your problem.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →