/rabbitmq-operator

Primary LanguageMustacheMIT LicenseMIT

Kubernetes operator to deploy and manage RabbitMQ clusters.

Homepage: https://www.rabbitmq.com/kubernetes/operator/operator-overview.html

Quickstart

$ helm install -g --wait --create-namespace -n rabbitmq-operator ./chart

Values

Key Type Default Description
replicaCount int 1 Number of replicas (pods) to launch.
crd.create bool true To create the crd for installation
imageCredentials.registry string "" If the docker registry is private
imageCredentials.username string "" Username registry
imageCredentials.password string "" Password for registry
imageCredentials.email string "" email for registry
image.repository string "rabbitmqoperator/cluster-operator" Name of the image repository to pull the container image from.
image.pullPolicy string "IfNotPresent" Image pull policy for updating already existing images on a node.
image.tag string "1.8.1" Image tag override for the default value (chart appVersion).
imagePullSecrets list [] Reference to one or more secrets to be used when pulling images (from private registries).
nameOverride string "" A name in place of the chart name for app: labels.
fullnameOverride string "" A name to substitute for the full names of resources.
serviceAccount.create bool true Enable service account creation.
serviceAccount.annotations object {} Annotations to be added to the service account.
serviceAccount.name string "" The name of the service account to use. If not set and create is true, a name is generated using the fullname template.
rbac.create bool true Enable the creation of RBAC resources. If disabled, the operator (ie. the person installing the chart) is responsible for creating the necessary resources based on the templates.
podAnnotations object {} Annotations to be added to pods.
priorityClassName string "" Specify a priority class name to set pod priority.
podSecurityContext object {} Pod security context. See the API reference for details.
securityContext object {} Container security context. See the API reference for details.
podMonitor.enabled bool false Enable Prometheus PodMonitor to monitor the operator.
podMonitor.interval string "30s" Interval at which metrics should be scraped.
resources object No requests or limits. Container resource requests and limits. See the API reference for details.
nodeSelector object {} Node selector configuration.
tolerations list [] Tolerations for node taints. See the API reference for details.
affinity object {} Affinity configuration. See the API reference for details.
annotation object {} Annotations
rabbitmq.serviceMonitor.enabled bool false Enable Prometheus ServiceMonitor to monitor RabbitMQ clusters created by the operator.
rabbitmq.serviceMonitor.interval string "30s" Interval at which metrics should be scraped.

Examples

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

Development

Update operator

go get -u github.com/brendanjryan/k8split
VERSION="1.8.1"

mkdir tmp

curl -L "https://github.com/rabbitmq/cluster-operator/releases/download/v${VERSION}/cluster-operator.yml" > tmp/cluster-operator.yaml

MacOs

~/go/bin/k8split -o tmp tmp/cluster-operator.yaml