diff --git a/charts/rabbitmq/Chart.yaml b/charts/rabbitmq/Chart.yaml index fb930cc45c34f23558382fde51631ede29f96be6..54e346564c96f32f2b6e531926e2413842f4b154 100644 --- a/charts/rabbitmq/Chart.yaml +++ b/charts/rabbitmq/Chart.yaml @@ -7,6 +7,6 @@ type: application maintainers: - name: groundhog2k -version: 0.2.3 +version: 0.2.4 appVersion: 3.8.9 diff --git a/charts/rabbitmq/README.md b/charts/rabbitmq/README.md index 9069351545d30a13fbf0643dabc583df0a5969a8..8b3d7aa0c87a4d1befc303a28443062c0745d989 100644 --- a/charts/rabbitmq/README.md +++ b/charts/rabbitmq/README.md @@ -1,6 +1,6 @@ # RabbitMQ -   +   A Helm chart for a RabbitMQ cluster on Kubernetes @@ -116,3 +116,4 @@ $ helm uninstall my-release | options.memoryHighWatermark.type | string | `"relative"` | Type of watermark (relative or absolute) | | options.memoryHighWatermark.value | float | `0.4` | Watermark value (default: 40%) | | plugins | string | `"rabbitmq_management,rabbitmq_peer_discovery_k8s"` | RabbitMQ plugins (Remove rabbitmq_peer_discovery_k8s to disable cluster replication mode) | +| disableMetricsCollector: | bool | `false` | Disable internal metrics collector (management_agent.disable_metrics_collector) | diff --git a/charts/rabbitmq/templates/rabbit-config.yaml b/charts/rabbitmq/templates/rabbit-config.yaml index c14699a1a27a3a2e01fc0b184e843cdee5eeae10..55be43b84e42a990a1ad545ce07f07f75656f42a 100644 --- a/charts/rabbitmq/templates/rabbit-config.yaml +++ b/charts/rabbitmq/templates/rabbit-config.yaml @@ -7,6 +7,7 @@ metadata: data: rabbitmq.conf: |+ # Common settings + management_agent.disable_metrics_collector = {{ .Values.disableMetricsCollector }} loopback_users.guest = false listeners.tcp.default = 5672 management.tcp.port = 15672 diff --git a/charts/rabbitmq/templates/statefulset.yaml b/charts/rabbitmq/templates/statefulset.yaml index d7fd47e2feb979003619db257a1e37f3f5111a1f..77b40f55cea2b549c0992c81ca0f200e84888dbd 100644 --- a/charts/rabbitmq/templates/statefulset.yaml +++ b/charts/rabbitmq/templates/statefulset.yaml @@ -31,6 +31,26 @@ spec: securityContext: {{- toYaml . | nindent 8 }} {{- end }} + initContainers: + - name: {{ .Chart.Name }}-init + {{- with .Values.securityContext }} + securityContext: + {{- toYaml . | nindent 12 }} + {{- end }} + image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}" + imagePullPolicy: {{ .Values.initImage.pullPolicy }} + volumeMounts: + - name: config + mountPath: /etc/rabbitmq + - name: rabbitconfig + mountPath: /temp/rabbitmq.conf + subPath: rabbitmq.conf + {{- if .Values.plugins }} + - name: plugins + mountPath: /temp/enabled_plugins + subPath: enabled_plugins + {{- end }} + command: ['sh', '-c', 'cp /temp/* /etc/rabbitmq && mkdir -p /etc/rabbitmq/conf.d'] containers: - name: {{ .Chart.Name }} {{- with .Values.securityContext }} @@ -132,13 +152,7 @@ spec: - name: rabbitmq-volume mountPath: /var/lib/rabbitmq - name: config - mountPath: /etc/rabbitmq/rabbitmq.conf - subPath: rabbitmq.conf - {{- if .Values.plugins }} - - name: plugins - mountPath: /etc/rabbitmq/enabled_plugins - subPath: enabled_plugins - {{- end }} + mountPath: /etc/rabbitmq {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} @@ -157,6 +171,8 @@ spec: - name: logs emptyDir: {} - name: config + emptyDir: {} + - name: rabbitconfig configMap: name: {{ include "rabbitmq.fullname" . }}-config {{- if .Values.plugins }} diff --git a/charts/rabbitmq/values.yaml b/charts/rabbitmq/values.yaml index 8cbfb5b3955c640452d4ea35be513064588d7656..1211b43f9178001c9f695928d49da51998798b11 100644 --- a/charts/rabbitmq/values.yaml +++ b/charts/rabbitmq/values.yaml @@ -7,6 +7,12 @@ image: # Overrides the image tag whose default is the chart appVersion. tag: "" +# Default Init container image +initImage: + repository: busybox + pullPolicy: IfNotPresent + tag: "latest" + ## Pull secrets and name override options imagePullSecrets: [] nameOverride: "" @@ -55,7 +61,7 @@ ingress: enabled: false ## Additional ingress annotations - annotations: + annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" @@ -120,6 +126,9 @@ args: [] ## Default Kubernetes cluster domain clusterDomain: cluster.local +## Disable internal metrics collector (management_agent.disable_metrics_collector) +disableMetricsCollector: false + # Comma separated list of plugins (without whitespace!) - f.e.: rabbitmq_federation_management,rabbitmq_management,rabbitmq_mqtt,rabbitmq_stomp,rabbitmq_peer_discovery_k8s plugins: rabbitmq_management,rabbitmq_peer_discovery_k8s