From 10b54e81930508fc6843cf2e6b71aedcf25344bb Mon Sep 17 00:00:00 2001 From: BaudouinH <45173129+BaudouinH@users.noreply.github.com> Date: Tue, 15 Sep 2020 10:49:05 +0200 Subject: [PATCH] [bitnami/redis] Add extraEnv value to redis chart (#3651) * Add extraEnv value to redis chart * Bump version * Add helper for rendering values * Add extraEnvVars, extraEnvVarsCM and extraEnvVarsSecret to * fix unnecessary newline * Remove trim instruction * Rebase app version --- bitnami/redis/Chart.yaml | 2 +- bitnami/redis/README.md | 6 +++ bitnami/redis/templates/_helpers.tpl | 13 ++++++ .../templates/redis-master-statefulset.yaml | 14 +++++++ .../templates/redis-slave-statefulset.yaml | 14 +++++++ bitnami/redis/values-production.yaml | 40 +++++++++++++++++++ bitnami/redis/values.yaml | 40 +++++++++++++++++++ 7 files changed, 128 insertions(+), 1 deletion(-) diff --git a/bitnami/redis/Chart.yaml b/bitnami/redis/Chart.yaml index b1f9b8570..018049f6d 100644 --- a/bitnami/redis/Chart.yaml +++ b/bitnami/redis/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: redis -version: 10.8.2 +version: 10.9.0 appVersion: 6.0.8 description: Open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. keywords: diff --git a/bitnami/redis/README.md b/bitnami/redis/README.md index fdcf0aebe..a2188807f 100644 --- a/bitnami/redis/README.md +++ b/bitnami/redis/README.md @@ -136,6 +136,9 @@ The following table lists the configurable parameters of the Redis chart and the | `master.statefulset.rollingUpdatePartition` | Partition update strategy | `nil` | | `master.podLabels` | Additional labels for Redis master pod | {} | | `master.podAnnotations` | Additional annotations for Redis master pod | {} | +| `master.extraEnvVars` | Additional Environement Variables passed to the pod of the master's stateful set set | `[]` +| `master.extraEnvVarCMs` | Additional Environement Variables ConfigMappassed to the pod of the master's stateful set set | `[]` +| `master.extraEnvVarsSecret` | Additional Environement Variables Secret passed to the master's stateful set | `[]` | `podDisruptionBudget.enabled` | Pod Disruption Budget toggle | `false` | | `podDisruptionBudget.minAvailable` | Minimum available pods | `1` | | `podDisruptionBudget.maxUnavailable` | Maximum unavailable pods | `nil` | @@ -217,6 +220,9 @@ The following table lists the configurable parameters of the Redis chart and the | `slave.persistence.matchExpressions` | matchExpressions persistent volume selector | `{}` | | `slave.statefulset.updateStrategy` | Update strategy for StatefulSet | onDelete | | `slave.statefulset.rollingUpdatePartition` | Partition update strategy | `nil` | +| `slave.extraEnvVars` | Additional Environement Variables passed to the pod of the slave's stateful set set | `[]` +| `slave.extraEnvVarCMs` | Additional Environement Variables ConfigMappassed to the pod of the slave's stateful set set | `[]` +| `masslaveter.extraEnvVarsSecret` | Additional Environement Variables Secret passed to the slave's stateful set | `[]` | `slave.podLabels` | Additional labels for Redis slave pod | `master.podLabels` | | `slave.podAnnotations` | Additional annotations for Redis slave pod | `master.podAnnotations` | | `slave.schedulerName` | Name of an alternate scheduler | `nil` | diff --git a/bitnami/redis/templates/_helpers.tpl b/bitnami/redis/templates/_helpers.tpl index d01b27e6f..b51265373 100644 --- a/bitnami/redis/templates/_helpers.tpl +++ b/bitnami/redis/templates/_helpers.tpl @@ -406,3 +406,16 @@ redis: spreadConstraints Find more information at https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ {{- end -}} {{- end -}} + +{{/* +Renders a value that contains template. +Usage: +{{ include "redis.tplValue" (dict "value" .Values.path.to.the.Value "context" $) }} +*/}} +{{- define "redis.tplValue" -}} + {{- if typeIs "string" .value }} + {{- tpl .value .context }} + {{- else }} + {{- tpl (.value | toYaml) .context }} + {{- end }} +{{- end -}} diff --git a/bitnami/redis/templates/redis-master-statefulset.yaml b/bitnami/redis/templates/redis-master-statefulset.yaml index 044d00e26..f0c2eb2e9 100755 --- a/bitnami/redis/templates/redis-master-statefulset.yaml +++ b/bitnami/redis/templates/redis-master-statefulset.yaml @@ -162,6 +162,20 @@ spec: - name: REDIS_PORT value: {{ .Values.redisPort | quote }} {{- end }} + {{- if .Values.master.extraEnvVars }} + {{- include "redis.tplValue" (dict "value" .Values.master.extraEnvVars "context" $) | nindent 12 }} + {{- end }} + {{- if or .Values.master.extraEnvVarsCM .Values.master.extraEnvVarsSecret }} + envFrom: + {{- if .Values.master.extraEnvVarsCM }} + - configMapRef: + name: {{ .Values.master.extraEnvVarsCM }} + {{- end }} + {{- if .Values.master.extraEnvVarsSecret }} + - secretRef: + name: {{ .Values.master.extraEnvVarsSecret }} + {{- end }} + {{- end }} ports: - name: redis containerPort: {{ .Values.redisPort }} diff --git a/bitnami/redis/templates/redis-slave-statefulset.yaml b/bitnami/redis/templates/redis-slave-statefulset.yaml index 018564d01..b84d3c672 100755 --- a/bitnami/redis/templates/redis-slave-statefulset.yaml +++ b/bitnami/redis/templates/redis-slave-statefulset.yaml @@ -187,6 +187,20 @@ spec: - name: REDIS_PORT value: {{ .Values.redisPort | quote }} {{- end }} + {{- if .Values.slave.extraEnvVars }} + {{- include "redis.tplValue" (dict "value" .Values.slave.extraEnvVars "context" $) | nindent 12 }} + {{- end }} + {{- if or .Values.slave.extraEnvVarsCM .Values.slave.extraEnvVarsSecret }} + envFrom: + {{- if .Values.slave.extraEnvVarsCM }} + - configMapRef: + name: {{ .Values.slave.extraEnvVarsCM }} + {{- end }} + {{- if .Values.slave.extraEnvVarsSecret }} + - secretRef: + name: {{ .Values.slave.extraEnvVarsSecret }} + {{- end }} + {{- end }} ports: - name: redis containerPort: {{ .Values.redisPort }} diff --git a/bitnami/redis/values-production.yaml b/bitnami/redis/values-production.yaml index ef8e3745f..df8bb2d17 100644 --- a/bitnami/redis/values-production.yaml +++ b/bitnami/redis/values-production.yaml @@ -407,6 +407,26 @@ master: ## priorityClassName: {} + ## An array to add extra env vars + ## For example: + ## extraEnvVars: + ## - name: name + ## value: value + ## - name: other_name + ## valueFrom: + ## fieldRef: + ## fieldPath: fieldPath + ## + extraEnvVars: [] + + ## ConfigMap with extra env vars: + ## + extraEnvVarsCM: [] + + ## Secret with extra env vars: + ## + extraEnvVarsSecret: [] + ## ## Redis Slave properties ## Note: service.type is a mandatory parameter @@ -565,6 +585,26 @@ slave: ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions # rollingUpdatePartition: + ## An array to add extra env vars + ## For example: + ## extraEnvVars: + ## - name: name + ## value: value + ## - name: other_name + ## valueFrom: + ## fieldRef: + ## fieldPath: fieldPath + ## + extraEnvVars: [] + + ## ConfigMap with extra env vars: + ## + extraEnvVarsCM: [] + + ## Secret with extra env vars: + ## + extraEnvVarsSecret: [] + ## Prometheus Exporter / Metrics ## metrics: diff --git a/bitnami/redis/values.yaml b/bitnami/redis/values.yaml index 871aa5b17..af1610203 100644 --- a/bitnami/redis/values.yaml +++ b/bitnami/redis/values.yaml @@ -407,6 +407,26 @@ master: ## priorityClassName: {} + ## An array to add extra env vars + ## For example: + ## extraEnvVars: + ## - name: name + ## value: value + ## - name: other_name + ## valueFrom: + ## fieldRef: + ## fieldPath: fieldPath + ## + extraEnvVars: [] + + ## ConfigMap with extra env vars: + ## + extraEnvVarsCM: [] + + ## Secret with extra env vars: + ## + extraEnvVarsSecret: [] + ## ## Redis Slave properties ## Note: service.type is a mandatory parameter @@ -565,6 +585,26 @@ slave: ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions # rollingUpdatePartition: + ## An array to add extra env vars + ## For example: + ## extraEnvVars: + ## - name: name + ## value: value + ## - name: other_name + ## valueFrom: + ## fieldRef: + ## fieldPath: fieldPath + ## + extraEnvVars: [] + + ## ConfigMap with extra env vars: + ## + extraEnvVarsCM: [] + + ## Secret with extra env vars: + ## + extraEnvVarsSecret: [] + ## Prometheus Exporter / Metrics ## metrics: