mirror of
https://github.com/truenas/charts.git
synced 2026-04-14 02:30:53 +08:00
Add helper to retrieve all volumes configuration
This commit is contained in:
@@ -15,19 +15,11 @@ Retrieve host path from ix volumes based on a key
|
||||
*/}}
|
||||
{{- define "common.configuredHostPath" -}}
|
||||
{{- $values := . -}}
|
||||
{{- if and (hasKey $values "hostPathEnabled") (hasKey $values "pathField") -}}
|
||||
{{- end -}}
|
||||
{{- if $values.hostPathEnabled -}}
|
||||
{{- if hasKey $values "pathField" -}}
|
||||
{{- include "common.validateKeys" (dict "values" $values "checkKeys" (list "pathField")) -}}
|
||||
{{- $values.pathField -}}
|
||||
{{- else -}}
|
||||
{{- fail "Path must be specified when host path is enabled" -}}
|
||||
{{- end -}}
|
||||
{{- else if and (hasKey $values "datasetName") (hasKey $values "ixVolumes") -}}
|
||||
{{- $volDict := dict "datasetName" $values.datasetName "ixVolumes" $values.ixVolumes -}}
|
||||
{{- include "common.retrieveHostPathFromiXVolume" $volDict -}}
|
||||
{{- else -}}
|
||||
{{- fail "Dataset name and ix volumes must be specified" -}}
|
||||
{{- include "common.validateKeys" (dict "values" $values "checkKeys" (list "datasetName" "ixVolumes")) -}}
|
||||
{{- include "common.retrieveHostPathFromiXVolume" (dict "datasetName" $values.datasetName "ixVolumes" $values.ixVolumes) -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
@@ -1,9 +1,19 @@
|
||||
{{/*
|
||||
Retrieve volume configuration
|
||||
|
||||
This expects a dictionary in the following format:
|
||||
{
|
||||
"name": string,
|
||||
"emptyDirVolumes": boolean,
|
||||
"ixVolumes": list,
|
||||
"hostPathEnabled": boolean,
|
||||
"pathField": string,
|
||||
"datasetName": string,
|
||||
}
|
||||
*/}}
|
||||
{{- define "common.volumeConfig" -}}
|
||||
{{- $values := . -}}
|
||||
{{- if hasKey $values "name" }}
|
||||
{{- include "common.validateKeys" (dict "values" $values "checkKeys" (list "name")) -}}
|
||||
- name: {{ $values.name }}
|
||||
{{- if $values.emptyDirVolumes -}}
|
||||
emptyDir: {}
|
||||
@@ -11,7 +21,31 @@ Retrieve volume configuration
|
||||
hostPath:
|
||||
path: {{ template "common.configuredHostPath" $values }}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- fail "Name must be specified for Volume Configuration" -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/*
|
||||
Retrieve configuration for volumes
|
||||
|
||||
This expects a dictionary to be provided in the following format:
|
||||
{
|
||||
"ixVolumes": list,
|
||||
"volumes": [
|
||||
{
|
||||
"name": string,
|
||||
"emptyDirVolumes": boolean,
|
||||
"hostPathEnabled": boolean,
|
||||
"pathField": string,
|
||||
"datasetName": string,
|
||||
}
|
||||
] ( list of dicts )
|
||||
}
|
||||
*/}}
|
||||
{{- define "common.volumesConfiguration" -}}
|
||||
{{- $values := . -}}
|
||||
{{- include "common.validateKeys" (dict "values" $values "checkKeys" (list "ixVolumes" "volumes")) -}}
|
||||
{{- range $vol := $values.volumes -}}
|
||||
{{- $_ := set $vol "ixVolumes" $values.ixVolumes -}}
|
||||
{{- include "common.volumeConfig" $vol -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
Reference in New Issue
Block a user