Skip to content

Commit b300fca

Browse files
dalbaniDamiano Albani
andauthored
Keep single values.yaml in operator chart while supporting ConfigMap & CRD (zalando#1224)
* Keep single values.yaml while supporting ConfigMap & CRD Co-authored-by: Damiano Albani <[email protected]>
1 parent a37e78b commit b300fca

File tree

6 files changed

+114
-488
lines changed

6 files changed

+114
-488
lines changed

charts/postgres-operator/templates/_helpers.tpl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,24 @@ Create chart name and version as used by the chart label.
5151
{{- define "postgres-operator.chart" -}}
5252
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
5353
{{- end -}}
54+
55+
{{/*
56+
Flatten nested config options when ConfigMap is used as ConfigTarget
57+
*/}}
58+
{{- define "flattenValuesForConfigMap" }}
59+
{{- range $key, $value := . }}
60+
{{- if or (kindIs "string" $value) (kindIs "int" $value) }}
61+
{{ $key }}: {{ $value | quote }}
62+
{{- end }}
63+
{{- if kindIs "slice" $value }}
64+
{{ $key }}: {{ join "," $value | quote }}
65+
{{- end }}
66+
{{- if kindIs "map" $value }}
67+
{{- $list := list }}
68+
{{- range $subKey, $subValue := $value }}
69+
{{- $list = append $list (printf "%s:%s" $subKey $subValue) }}
70+
{{ $key }}: {{ join "," $list | quote }}
71+
{{- end }}
72+
{{- end }}
73+
{{- end }}
74+
{{- end }}

charts/postgres-operator/templates/configmap.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ data:
1313
pod_priority_class_name: {{ .Values.podPriorityClassName }}
1414
{{- end }}
1515
pod_service_account_name: {{ include "postgres-pod.serviceAccountName" . }}
16-
{{ toYaml .Values.configGeneral | indent 2 }}
17-
{{ toYaml .Values.configUsers | indent 2 }}
18-
{{ toYaml .Values.configMajorVersionUpgrade | indent 2 }}
19-
{{ toYaml .Values.configKubernetes | indent 2 }}
20-
{{ toYaml .Values.configTimeouts | indent 2 }}
21-
{{ toYaml .Values.configLoadBalancer | indent 2 }}
22-
{{ toYaml .Values.configAwsOrGcp | indent 2 }}
23-
{{ toYaml .Values.configLogicalBackup | indent 2 }}
24-
{{ toYaml .Values.configDebug | indent 2 }}
25-
{{ toYaml .Values.configLoggingRestApi | indent 2 }}
26-
{{ toYaml .Values.configTeamsApi | indent 2 }}
27-
{{ toYaml .Values.configConnectionPooler | indent 2 }}
16+
{{- include "flattenValuesForConfigMap" .Values.configGeneral | indent 2 }}
17+
{{- include "flattenValuesForConfigMap" .Values.configUsers | indent 2 }}
18+
{{- include "flattenValuesForConfigMap" .Values.configMajorVersionUpgrade | indent 2 }}
19+
{{- include "flattenValuesForConfigMap" .Values.configKubernetes | indent 2 }}
20+
{{- include "flattenValuesForConfigMap" .Values.configTimeouts | indent 2 }}
21+
{{- include "flattenValuesForConfigMap" .Values.configLoadBalancer | indent 2 }}
22+
{{- include "flattenValuesForConfigMap" .Values.configAwsOrGcp | indent 2 }}
23+
{{- include "flattenValuesForConfigMap" .Values.configLogicalBackup | indent 2 }}
24+
{{- include "flattenValuesForConfigMap" .Values.configDebug | indent 2 }}
25+
{{- include "flattenValuesForConfigMap" .Values.configLoggingRestApi | indent 2 }}
26+
{{- include "flattenValuesForConfigMap" .Values.configTeamsApi | indent 2 }}
27+
{{- include "flattenValuesForConfigMap" .Values.configConnectionPooler | indent 2 }}
2828
{{- end }}

0 commit comments

Comments
 (0)