From 479ef89dcd43d7bf2dd4ffe0855331a15664ae7e Mon Sep 17 00:00:00 2001 From: radumazi Date: Tue, 25 Jun 2019 18:52:37 +0300 Subject: [PATCH] [stable/rabbitmq-ha] env variables and init containers (#14932) * add rabbitmq env variables Signed-off-by: radu mazilu * add extra init containers Signed-off-by: radu mazilu * PR changes Signed-off-by: radu mazilu * Bump chart version Signed-off-by: radu mazilu --- stable/rabbitmq-ha/Chart.yaml | 2 +- stable/rabbitmq-ha/README.md | 8 ++++++++ stable/rabbitmq-ha/templates/statefulset.yaml | 7 +++++++ stable/rabbitmq-ha/values.yaml | 6 ++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/stable/rabbitmq-ha/Chart.yaml b/stable/rabbitmq-ha/Chart.yaml index 178d804767..ea5142d457 100644 --- a/stable/rabbitmq-ha/Chart.yaml +++ b/stable/rabbitmq-ha/Chart.yaml @@ -1,7 +1,7 @@ name: rabbitmq-ha apiVersion: v1 appVersion: 3.7.15 -version: 1.28.0 +version: 1.29.0 description: Highly available RabbitMQ cluster, the open source message broker software that implements the Advanced Message Queuing Protocol (AMQP). keywords: diff --git a/stable/rabbitmq-ha/README.md b/stable/rabbitmq-ha/README.md index cda4723a91..88b4bba62c 100644 --- a/stable/rabbitmq-ha/README.md +++ b/stable/rabbitmq-ha/README.md @@ -69,6 +69,8 @@ and their default values. | `existingSecret` | Use an existing secret for password, managementPassword & erlang cookie | `""`                               | | `extraPlugins` | Additional plugins to add to the default configmap | `rabbitmq_shovel, rabbitmq_shovel_management, rabbitmq_federation, rabbitmq_federation_management,` | | `extraConfig` | Additional configuration to add to default configmap | `{}` | +| `extraInitContainers` | Additional init containers passed through the tpl | `[]` | +| `env` | Environment variables to set for Rabbitmq container | `{}` | | `advancedConfig` | Additional configuration in classic config format | `""` | | `definitions.users` | Additional users | `""` | | `definitions.vhosts` | Additional vhosts | `""` | @@ -253,3 +255,9 @@ the following keys: ### Prometheus Monitoring & Alerts Prometheus and its features can be enabled by setting `prometheus.enabled` to `true`. See values.yaml for more details and configuration options + +### Usage of the `tpl` Function + +The `tpl` function allows us to pass values from `values.yaml` through the templating engine. It is used for the following values: + +* `extraInitContainers` \ No newline at end of file diff --git a/stable/rabbitmq-ha/templates/statefulset.yaml b/stable/rabbitmq-ha/templates/statefulset.yaml index cf06f6a121..5f53b0af31 100644 --- a/stable/rabbitmq-ha/templates/statefulset.yaml +++ b/stable/rabbitmq-ha/templates/statefulset.yaml @@ -76,6 +76,9 @@ spec: mountPath: /etc/rabbitmq - name: {{ .Values.persistentVolume.name }} mountPath: /var/lib/rabbitmq +{{- if .Values.extraInitContainers }} +{{ tpl (toYaml .Values.extraInitContainers) . | indent 8 }} +{{- end }} containers: - name: {{ .Chart.Name }} image: {{ .Values.image.repository }}:{{ .Values.image.tag }} @@ -174,6 +177,10 @@ spec: - name: RABBITMQ_HIPE_COMPILE value: {{ .Values.rabbitmqHipeCompile | quote }} {{- end }} + {{- range $key, $value := .Values.env }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} resources: {{ toYaml .Values.resources | indent 12 }} volumeMounts: diff --git a/stable/rabbitmq-ha/values.yaml b/stable/rabbitmq-ha/values.yaml index ddb354ecc1..3d28faae9a 100644 --- a/stable/rabbitmq-ha/values.yaml +++ b/stable/rabbitmq-ha/values.yaml @@ -343,6 +343,9 @@ initContainer: # cpu: 100m # memory: 128Mi +## Additional init containers +extraInitContainers: [] + ## Use an alternate scheduler, e.g. "stork". ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## @@ -450,6 +453,9 @@ securityContext: runAsNonRoot: true runAsUser: 100 +## Sets environment variables for the rabbitmq container +env: {} + prometheus: ## Configures Prometheus Exporter to expose and scrape stats. exporter: