69 lines
2.4 KiB
Smarty
69 lines
2.4 KiB
Smarty
{{/*
|
|
Volumes included by the controller.
|
|
*/}}
|
|
{{- define "common.controller.volumes" -}}
|
|
{{- range $index, $persistence := .Values.persistence }}
|
|
{{- if $persistence.enabled }}
|
|
- name: {{ $index }}
|
|
{{- if eq (default "pvc" $persistence.type) "pvc" }}
|
|
{{- $pvcName := (include "common.names.fullname" $) -}}
|
|
{{- if $persistence.existingClaim }}
|
|
{{- /* Always prefer an existingClaim if that is set */}}
|
|
{{- $pvcName = $persistence.existingClaim -}}
|
|
{{- else -}}
|
|
{{- /* Otherwise refer to the PVC name */}}
|
|
{{- if $persistence.nameOverride -}}
|
|
{{- if not (eq $persistence.nameOverride "-") -}}
|
|
{{- $pvcName = (printf "%s-%s" (include "common.names.fullname" $) $persistence.nameOverride) -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- $pvcName = (printf "%s-%s" (include "common.names.fullname" $) $index) -}}
|
|
{{- end -}}
|
|
{{- end }}
|
|
persistentVolumeClaim:
|
|
claimName: {{ $pvcName }}
|
|
{{- else if or (eq $persistence.type "configMap") (eq $persistence.type "secret") }}
|
|
{{- $objectName := (required (printf "name not set for persistence item %s" $index) $persistence.name) }}
|
|
{{- $objectName = tpl $objectName $ }}
|
|
{{- if eq $persistence.type "configMap" }}
|
|
configMap:
|
|
name: {{ $objectName }}
|
|
{{- else }}
|
|
secret:
|
|
secretName: {{ $objectName }}
|
|
{{- end }}
|
|
{{- with $persistence.defaultMode }}
|
|
defaultMode: {{ . }}
|
|
{{- end }}
|
|
{{- with $persistence.items }}
|
|
items:
|
|
{{- toYaml . | nindent 6 }}
|
|
{{- end }}
|
|
{{- else if eq $persistence.type "emptyDir" }}
|
|
{{- $emptyDir := dict -}}
|
|
{{- with $persistence.medium -}}
|
|
{{- $_ := set $emptyDir "medium" . -}}
|
|
{{- end -}}
|
|
{{- with $persistence.sizeLimit -}}
|
|
{{- $_ := set $emptyDir "sizeLimit" . -}}
|
|
{{- end }}
|
|
emptyDir: {{- $emptyDir | toYaml | nindent 4 }}
|
|
{{- else if eq $persistence.type "hostPath" }}
|
|
hostPath:
|
|
path: {{ required "hostPath not set" $persistence.hostPath }}
|
|
{{- with $persistence.hostPathType }}
|
|
type: {{ . }}
|
|
{{- end }}
|
|
{{- else if eq $persistence.type "nfs" }}
|
|
nfs:
|
|
server: {{ required "server not set" $persistence.server }}
|
|
path: {{ required "path not set" $persistence.path }}
|
|
{{- else if eq $persistence.type "custom" }}
|
|
{{- toYaml $persistence.volumeSpec | nindent 2 }}
|
|
{{- else }}
|
|
{{- fail (printf "Not a valid persistence.type (%s)" .Values.persistence.type) }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|