rancher-partner-charts/charts/nutanix/nutanix-csi-storage/templates/ntnx-sc.yaml

126 lines
4.5 KiB
YAML

{{- if eq .Values.volumeClass true }}
---
{{- $storageContainer := .Values.storageContainer | required "storageContainer is required." -}}
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ .Values.volumeClassName }}
annotations:
{{- if eq .Values.defaultStorageClass "volume" }}
storageclass.kubernetes.io/is-default-class: "true"
{{- end }}
{{- with .Values.volumeClassAnnotations }}
{{ toYaml . | nindent 4 }}
{{- end }}
labels:
{{- with .Values.volumeClassLabels }}
{{ toYaml . | nindent 4 }}
{{- end }}
provisioner: {{ include "nutanix-csi-storage.drivername" . }}
parameters:
storageType: NutanixVolumes
csi.storage.k8s.io/provisioner-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/provisioner-secret-namespace: {{ .Release.Namespace }}
csi.storage.k8s.io/node-publish-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/node-publish-secret-namespace: {{ .Release.Namespace }}
csi.storage.k8s.io/controller-expand-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/controller-expand-secret-namespace: {{ .Release.Namespace }}
storageContainer: {{ .Values.storageContainer }}
csi.storage.k8s.io/fstype: {{ .Values.fsType }}
isSegmentedIscsiNetwork: {{ quote .Values.networkSegmentation }}
description: {{ quote (.Values.volumeClassDescription | default .Values.volumeClassName) }}
{{- if eq .Values.lvmVolume true }}
isLVMVolume: "true"
numLVMDisks: {{ quote .Values.lvmDisks }}
{{- end }}
allowVolumeExpansion: true
reclaimPolicy: {{ .Values.volumeClassRetention }}
---
{{- if .Capabilities.APIVersions.Has "snapshot.storage.k8s.io/v1" }}
apiVersion: snapshot.storage.k8s.io/v1
{{- else }}
apiVersion: snapshot.storage.k8s.io/v1beta1
{{- end }}
kind: VolumeSnapshotClass
metadata:
name: {{ .Values.volumeSnapshotClassName }}
annotations:
{{- with .Values.volumeSnapshotClassAnnotations }}
{{ toYaml . | nindent 4 }}
{{- end }}
labels:
{{- with .Values.volumeSnapshotClassLabels }}
{{ toYaml . | nindent 4 }}
{{- end }}
driver: {{ include "nutanix-csi-storage.drivername" . }}
parameters:
storageType: NutanixVolumes
csi.storage.k8s.io/snapshotter-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/snapshotter-secret-namespace: {{ .Release.Namespace }}
deletionPolicy: Delete
{{- end }}
{{- if eq .Values.fileClass true }}
---
{{- $fileHost := .Values.fileHost | required "fileHost is required." -}}
{{- $filePath := .Values.filePath | required "filePath is required." -}}
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ .Values.fileClassName }}
annotations:
{{- if eq .Values.defaultStorageClass "file" }}
storageclass.kubernetes.io/is-default-class: "true"
{{- end }}
{{- with .Values.fileClassAnnotations }}
{{ toYaml . | nindent 4 }}
{{- end }}
labels:
{{- with .Values.fileClassLabels }}
{{ toYaml . | nindent 4 }}
{{- end }}
provisioner: {{ include "nutanix-csi-storage.drivername" . }}
parameters:
storageType: NutanixFiles
nfsServer: {{ .Values.fileHost }}
nfsPath: {{ .Values.filePath }}
reclaimPolicy: {{ .Values.fileClassRetention }}
{{- end }}
{{- if eq .Values.dynamicFileClass true }}
---
{{- $fileServerName := .Values.fileServerName | required "fileServerName is required." -}}
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ .Values.dynamicFileClassName }}
annotations:
{{- if eq .Values.defaultStorageClass "dynfile" }}
storageclass.kubernetes.io/is-default-class: "true"
{{- end }}
{{- with .Values.dynamicFileClassAnnotations }}
{{ toYaml . | nindent 4 }}
{{- end }}
labels:
{{- with .Values.dynamicFileClassLabels }}
{{ toYaml . | nindent 4 }}
{{- end }}
provisioner: {{ include "nutanix-csi-storage.drivername" . }}
parameters:
storageType: NutanixFiles
dynamicProv: ENABLED
squashType: {{ .Values.dynamicFileSquashType }}
nfsServerName: {{ .Values.fileServerName }}
csi.storage.k8s.io/provisioner-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/provisioner-secret-namespace: {{ .Release.Namespace }}
csi.storage.k8s.io/node-publish-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/node-publish-secret-namespace: {{ .Release.Namespace }}
csi.storage.k8s.io/controller-expand-secret-name: {{ .Values.secretName }}
csi.storage.k8s.io/controller-expand-secret-namespace: {{ .Release.Namespace }}
description: {{ quote (.Values.dynamicFileClassDescription | default .Values.dynamicFileClassName) }}
allowVolumeExpansion: true
reclaimPolicy: {{ .Values.dynamicFileClassRetention }}
{{- end }}