76 lines
2.6 KiB
Smarty
76 lines
2.6 KiB
Smarty
{{/* Returns iscsi Volume */}}
|
|
{{/* Call this template:
|
|
{{ include "tc.v1.common.lib.pod.volume.iscsi" (dict "rootCtx" $ "objectData" $objectData) }}
|
|
rootCtx: The root context of the chart.
|
|
objectData: The object data to be used to render the volume.
|
|
*/}}
|
|
{{- define "tc.v1.common.lib.pod.volume.iscsi" -}}
|
|
{{- $rootCtx := .rootCtx -}}
|
|
{{- $objectData := .objectData -}}
|
|
|
|
{{- if not $objectData.iscsi -}}
|
|
{{- fail "Persistence - Expected non-empty [iscsi] object on [iscsi] type" -}}
|
|
{{- end -}}
|
|
|
|
{{- with $objectData.iscsi.fsType -}}
|
|
{{- $validFSTypes := (list "ext4" "xfs" "ntfs") -}}
|
|
{{- $fsType := tpl . $rootCtx -}}
|
|
{{- if not (mustHas $fsType $validFSTypes) -}}
|
|
{{- fail (printf "Persistence - Expected [fsType] on [iscsi] type to be one of [%s], but got [%s]" (join ", " $validFSTypes) $fsType) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- if not $objectData.iscsi.targetPortal -}}
|
|
{{- fail "Persistence - Expected non-empty [targetPortal] on [iscsi] type" -}}
|
|
{{- end -}}
|
|
|
|
{{- if not $objectData.iscsi.iqn -}}
|
|
{{- fail "Persistence - Expected non-empty [iqn] on [iscsi] type" -}}
|
|
{{- end -}}
|
|
|
|
{{- if (kindIs "invalid" $objectData.iscsi.lun) -}}
|
|
{{- fail "Persistence - Expected non-empty [lun] on [iscsi] type" -}}
|
|
{{- end -}}
|
|
{{- $lun := $objectData.iscsi.lun -}}
|
|
{{- if (kindIs "string" $lun) -}}
|
|
{{- $lun = tpl $lun $rootCtx | float64 -}}
|
|
{{- end -}}
|
|
|
|
{{- $authSession := false -}}
|
|
{{- $authDiscovery := false -}}
|
|
{{- if $objectData.iscsi.authSession -}}
|
|
{{- $authSession = true -}}
|
|
{{- end -}}
|
|
{{- if $objectData.iscsi.authDiscovery -}}
|
|
{{- $authDiscovery = true -}}
|
|
{{- end }}
|
|
|
|
- name: {{ $objectData.shortName }}
|
|
iscsi:
|
|
targetPortal: {{ tpl $objectData.iscsi.targetPortal $rootCtx }}
|
|
{{- with $objectData.iscsi.portals }}
|
|
portals:
|
|
{{- range $portal := . }}
|
|
- {{ tpl $portal $rootCtx | quote }}
|
|
{{- end -}}
|
|
{{- end }}
|
|
iqn: {{ tpl $objectData.iscsi.iqn $rootCtx }}
|
|
lun: {{ include "tc.v1.common.helper.makeIntOrNoop" $lun }}
|
|
{{- with $objectData.iscsi.iscsiInterface }}
|
|
iscsiInterface: {{ tpl . $rootCtx }}
|
|
{{- end -}}
|
|
{{- with $objectData.iscsi.initiatorName }}
|
|
initiatorName: {{ tpl . $rootCtx }}
|
|
{{- end -}}
|
|
{{- with $objectData.iscsi.fsType }}
|
|
fsType: {{ tpl . $rootCtx }}
|
|
{{- end }}
|
|
chapAuthSession: {{ $authSession }}
|
|
chapAuthDiscovery: {{ $authDiscovery }}
|
|
{{- if or $authSession $authDiscovery -}}
|
|
{{- $secretName := (printf "%s-%s" (include "tc.v1.common.lib.chart.names.fullname" $rootCtx) $objectData.shortName) }}
|
|
secretRef:
|
|
name: {{ $secretName }}
|
|
{{- end -}}
|
|
{{- end -}}
|