_accessModes.tpl 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. {{/* PVC - Access Modes */}}
  2. {{/* Call this template:
  3. {{ include "ix.v1.common.lib.pvc.accessModes" (dict "rootCtx" $rootCtx "objectData" $objectData) -}}
  4. rootCtx: The root context of the chart.
  5. objectData: The object data of the pvc
  6. */}}
  7. {{- define "ix.v1.common.lib.pvc.accessModes" -}}
  8. {{- $rootCtx := .rootCtx -}}
  9. {{- $objectData := .objectData -}}
  10. {{- $caller := .caller -}}
  11. {{- $accessModes := $objectData.accessModes -}}
  12. {{- if kindIs "string" $accessModes -}}
  13. {{- $accessModes = (list $accessModes) -}}
  14. {{- end -}}
  15. {{- if not $accessModes -}}
  16. {{- $accessModes = $rootCtx.Values.fallbackDefaults.accessModes -}}
  17. {{- end -}}
  18. {{- $validAccessModes := (list "ReadWriteOnce" "ReadOnlyMany" "ReadWriteMany" "ReadWriteOncePod") -}}
  19. {{- range $accessModes -}}
  20. {{- $mode := tpl . $rootCtx -}}
  21. {{- if not (mustHas $mode $validAccessModes) -}}
  22. {{- fail (printf "%s - Expected <accessModes> entry to be one of [%s], but got [%s]" $caller (join ", " $validAccessModes) $mode) -}}
  23. {{- end }}
  24. - {{ $mode }}
  25. {{- end -}}
  26. {{- end -}}