
* Change config specification As it is right now, the specification of the config is done through an string. When using storage backends like PostgreSQL, the password for the database has to be included in the config variable of the values file. This change allows to specify the configuration through a map, making the chart GitOps friendly. Now, sensitive values can be stored in a different values file or passed on deployment time with --set. To have a very generic specification: - I've assumed that the combination stanza (eg. storage) name (eg. file) is unique. - Quoted values for all stanza parameters. I tested a generated configuration in a vault docker image and it seems to work just fine. * Change config format to json * Add conditional formatting * Add config for raft mode
38 lines
1.6 KiB
YAML
38 lines
1.6 KiB
YAML
{{ template "vault.mode" . }}
|
|
{{- if ne .mode "external" }}
|
|
{{- if and (eq (.Values.global.enabled | toString) "true") (ne .mode "dev") -}}
|
|
{{ if or (.Values.server.standalone.config) (.Values.server.ha.config) -}}
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: {{ template "vault.fullname" . }}-config
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
helm.sh/chart: {{ include "vault.chart" . }}
|
|
app.kubernetes.io/name: {{ include "vault.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
data:
|
|
extraconfig-from-values.hcl: |-
|
|
{{- if or (eq .mode "ha") (eq .mode "standalone") }}
|
|
{{- $type := typeOf (index .Values.server .mode).config }}
|
|
{{- if eq $type "string" }}
|
|
disable_mlock = true
|
|
{{- if eq .mode "standalone" }}
|
|
{{ tpl .Values.server.standalone.config . | nindent 4 | trim }}
|
|
{{- else if and (eq .mode "ha") (eq (.Values.server.ha.raft.enabled | toString) "false") }}
|
|
{{ tpl .Values.server.ha.config . | nindent 4 | trim }}
|
|
{{- else if and (eq .mode "ha") (eq (.Values.server.ha.raft.enabled | toString) "true") }}
|
|
{{ tpl .Values.server.ha.raft.config . | nindent 4 | trim }}
|
|
{{ end }}
|
|
{{- else }}
|
|
{{- if and (eq .mode "ha") (eq (.Values.server.ha.raft.enabled | toString) "true") }}
|
|
{{ merge (dict "disable_mlock" true) (index .Values.server .mode).raft.config | toPrettyJson | indent 4 }}
|
|
{{- else }}
|
|
{{ merge (dict "disable_mlock" true) (index .Values.server .mode).config | toPrettyJson | indent 4 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|