From 4ac1cefe11e0503491de4369f6a985e756ac3297 Mon Sep 17 00:00:00 2001 From: groundhog2k <10630407+groundhog2k@users.noreply.github.com> Date: Wed, 16 Dec 2020 20:28:25 +0100 Subject: [PATCH] Rabbit fix draft (#155) * first draft for rabbit fix * Fixed read-only warning --- charts/rabbitmq/Chart.yaml | 2 +- charts/rabbitmq/README.md | 3 +- charts/rabbitmq/templates/rabbit-config.yaml | 1 + charts/rabbitmq/templates/statefulset.yaml | 30 +++++++++++++++----- charts/rabbitmq/values.yaml | 11 ++++++- 5 files changed, 37 insertions(+), 10 deletions(-) diff --git a/charts/rabbitmq/Chart.yaml b/charts/rabbitmq/Chart.yaml index fb930cc4..54e34656 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 90693515..8b3d7aa0 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 c14699a1..55be43b8 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 d7fd47e2..77b40f55 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 8cbfb5b3..1211b43f 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 -- GitLab