diff --git a/charts/csi-driver-lvm/templates/_helpers.tpl b/charts/csi-driver-lvm/templates/_helpers.tpl new file mode 100644 index 00000000..43b241b5 --- /dev/null +++ b/charts/csi-driver-lvm/templates/_helpers.tpl @@ -0,0 +1,126 @@ +{{/* vim: set filetype=mustache: */}} + +{{- define "csi-driver-lvm.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{- define "csi-driver-lvm.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{- define "csi-driver-lvm.plugin.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "csi-driver-lvm.labels" -}} +release: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ if .Values.labels }} +{{ .Values.labels | toYaml}} +{{- end }} +{{- end }} + +{{- define "csi-driver-lvm.csi-driver.fullname" -}} +{{- default (include "csi-driver-lvm.fullname" .) .Values.lvm.driverName | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{- define "csi-driver-lvm.csi-driver.vgname" -}} +{{- default (include "csi-driver-lvm.fullname" .) .Values.lvm.vgName | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{- define "csi-driver-lvm.serviceaccount.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.clusterrole.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.clusterrolebinding.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.podsecuritypolicy.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.role.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.rolebinding.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.daemonset.fullname" -}} +{{- include "csi-driver-lvm.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.daemonset.selectorlabels" -}} +app: {{ include "csi-driver-lvm.fullname" . }} +{{- end }} + +{{/* + EVICTION CONTROLLER +*/}} +{{- define "csi-driver-lvm.eviction.fullname" -}} +{{- printf "%s-controller" (include "csi-driver-lvm.fullname" .) | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- define "csi-driver-lvm.eviction.serviceaccount.fullname" -}} +{{- include "csi-driver-lvm.eviction.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.eviction.clusterrole.fullname" -}} +{{- include "csi-driver-lvm.eviction.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.eviction.clusterrolebinding.fullname" -}} +{{- include "csi-driver-lvm.eviction.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.eviction.deployment.fullname" -}} +{{- include "csi-driver-lvm.eviction.fullname" . }} +{{- end }} +{{- define "csi-driver-lvm.eviction.selectorlabels" -}} +app: {{ include "csi-driver-lvm.eviction.fullname" . }} +{{- end }} + +{{/* + STORAGECLASS +*/}} +{{- define "csi-driver-lvm.storageclass.fullname" -}} +{{- printf "%s-%s" (include "csi-driver-lvm.fullname" .global ) .storageclass.name | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{- define "csi-driver-lvm.storageclass.parameters" -}} +{{- .storageclass.parameters | toYaml }} +{{- if and .storageclass.parameters.encryption (eq .storageclass.parameters.encryption "true" ) }} +{{- if empty (index .storageclass.parameters "csi.storage.k8s.io/node-stage-secret-name") }} +csi.storage.k8s.io/node-stage-secret-name: {{ include "csi-driver-lvm.storageclass.encryption.secret.fullname" . }} +{{- end }} +{{- if empty (index .storageclass.parameters "csi.storage.k8s.io/node-stage-secret-namespace") }} +csi.storage.k8s.io/node-stage-secret-namespace: {{ include "csi-driver-lvm.storageclass.encryption.secret.namespace" . }} +{{- end }} +{{- end }} +{{- end }} + +{{- define "csi-driver-lvm.storageclass.encryption.secret.fullname" -}} +{{- if not (empty (index .storageclass.parameters "csi.storage.k8s.io/node-stage-secret-name")) }} +{{- index .storageclass.parameters "csi.storage.k8s.io/node-stage-secret-name" }} +{{- else }} +{{- printf "%s-%s" (include "csi-driver-lvm.fullname" .global ) .storageclass.name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} + +{{- define "csi-driver-lvm.storageclass.encryption.secret.namespace" -}} +{{- if not (empty (index .storageclass.parameters "csi.storage.k8s.io/node-stage-secret-namespace")) }} +{{- index .storageclass.parameters "csi.storage.k8s.io/node-stage-secret-namespace" }} +{{- else }} +{{- .global.Release.Namespace }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/csi-driver-lvm/templates/common.yaml b/charts/csi-driver-lvm/templates/common.yaml index 955e1f82..02383471 100644 --- a/charts/csi-driver-lvm/templates/common.yaml +++ b/charts/csi-driver-lvm/templates/common.yaml @@ -2,10 +2,8 @@ apiVersion: storage.k8s.io/v1 kind: CSIDriver metadata: - name: {{ .Values.lvm.driverName }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.csi-driver.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} spec: volumeLifecycleModes: - Persistent diff --git a/charts/csi-driver-lvm/templates/daemonset.yaml b/charts/csi-driver-lvm/templates/daemonset.yaml index bbc8b2aa..3751f0c1 100644 --- a/charts/csi-driver-lvm/templates/daemonset.yaml +++ b/charts/csi-driver-lvm/templates/daemonset.yaml @@ -2,18 +2,14 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.serviceaccount.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.clusterrole.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} rules: - apiGroups: [""] resources: ["persistentvolumes"] @@ -52,32 +48,28 @@ rules: kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.clusterrolebinding.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} subjects: - kind: ServiceAccount - name: csi-driver-lvm + name: {{ include "csi-driver-lvm.serviceaccount.fullname" . }} namespace: {{ .Release.Namespace }} roleRef: kind: ClusterRole - name: csi-driver-lvm + name: {{ include "csi-driver-lvm.clusterrole.fullname" . }} apiGroup: rbac.authorization.k8s.io --- {{- if and .Values.rbac.pspEnabled (.Capabilities.APIVersions.Has "policy/v1beta1") }} apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.podsecuritypolicy.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} spec: allowedHostPaths: - pathPrefix: /lib/modules - pathPrefix: {{ .Values.lvm.hostWritePath }}/cache - - pathPrefix: {{ .Values.kubernetes.kubeletPath }}/plugins/{{ .Values.lvm.storageClassStub }} + - pathPrefix: {{ .Values.kubernetes.kubeletPath }}/plugins/{{ include "csi-driver-lvm.plugin.fullname" . }} - pathPrefix: {{ .Values.lvm.hostWritePath }}/backup - pathPrefix: {{ .Values.lvm.hostWritePath }}/lock - pathPrefix: {{ .Values.kubernetes.kubeletPath }}/plugins @@ -103,10 +95,8 @@ spec: apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.role.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} rules: - apiGroups: - policy @@ -121,37 +111,31 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.rolebinding.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: csi-driver-lvm + name: {{ include "csi-driver-lvm.role.fullname" . }} subjects: - kind: ServiceAccount - name: csi-driver-lvm + name: {{ include "csi-driver-lvm.serviceaccount.fullname" . }} namespace: {{ .Release.Namespace }} --- apiVersion: apps/v1 kind: DaemonSet metadata: - name: csi-driver-lvm - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.daemonset.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} spec: revisionHistoryLimit: 10 selector: - matchLabels: - app: csi-driver-lvm + matchLabels: {{ include "csi-driver-lvm.daemonset.selectorlabels" . | nindent 6 }} template: metadata: - labels: - app: csi-driver-lvm + labels: {{ include "csi-driver-lvm.daemonset.selectorlabels" . | nindent 8 }} spec: - serviceAccountName: csi-driver-lvm + serviceAccountName: {{ include "csi-driver-lvm.serviceaccount.fullname" . }} {{- if .Values.tolerations.plugin }} tolerations: {{ toYaml .Values.tolerations.plugin | indent 8 }} @@ -223,7 +207,7 @@ spec: args: - --v=5 - --csi-address=/csi/csi.sock - - --kubelet-registration-path={{ .Values.kubernetes.kubeletPath }}/plugins/{{ .Values.lvm.storageClassStub }}/csi.sock + - --kubelet-registration-path={{ .Values.kubernetes.kubeletPath }}/plugins/{{ include "csi-driver-lvm.plugin.fullname" . }}/csi.sock env: - name: KUBE_NODE_NAME valueFrom: @@ -241,18 +225,18 @@ spec: volumeMounts: - mountPath: /csi name: socket-dir - - mountPath: {{ .Values.kubernetes.kubeletPath }}/plugins/{{ .Values.lvm.storageClassStub }} + - mountPath: {{ .Values.kubernetes.kubeletPath }}/plugins/{{ include "csi-driver-lvm.plugin.fullname" . }} name: socket-dir - mountPath: /registration name: registration-dir - name: csi-driver-lvm args: - - --drivername={{ .Values.lvm.driverName }} + - --drivername={{ include "csi-driver-lvm.csi-driver.fullname" . }} - --endpoint=/csi/csi.sock - --hostwritepath={{ .Values.lvm.hostWritePath }} - --devices={{ .Values.lvm.devicePattern }} - --nodeid=$(KUBE_NODE_NAME) - - --vgname={{ .Values.lvm.vgName }} + - --vgname={{ include "csi-driver-lvm.csi-driver.vgname" . }} - --log-level={{ .Values.lvm.logLevel }} env: - name: KUBE_NODE_NAME @@ -331,7 +315,7 @@ spec: terminationGracePeriodSeconds: 30 volumes: - hostPath: - path: {{ .Values.kubernetes.kubeletPath }}/plugins/{{ .Values.lvm.storageClassStub }} + path: {{ .Values.kubernetes.kubeletPath }}/plugins/{{ include "csi-driver-lvm.plugin.fullname" . }} type: DirectoryOrCreate name: socket-dir - hostPath: diff --git a/charts/csi-driver-lvm/templates/eviction-controller.yaml b/charts/csi-driver-lvm/templates/eviction-controller.yaml index 2df60cac..8a8e1a47 100644 --- a/charts/csi-driver-lvm/templates/eviction-controller.yaml +++ b/charts/csi-driver-lvm/templates/eviction-controller.yaml @@ -3,18 +3,14 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: csi-driver-lvm-controller - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.eviction.serviceaccount.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: csi-driver-lvm-controller - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.eviction.clusterrole.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} rules: - apiGroups: - coordination.k8s.io @@ -74,35 +70,29 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: csi-driver-lvm-controller - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.eviction.clusterrolebinding.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: csi-driver-lvm-controller + name: {{ include "csi-driver-lvm.eviction.clusterrole.fullname" . }} subjects: - kind: ServiceAccount - name: csi-driver-lvm-controller + name: {{ include "csi-driver-lvm.eviction.serviceaccount.fullname" . }} namespace: {{ .Release.Namespace }} --- apiVersion: apps/v1 kind: Deployment metadata: - name: csi-driver-lvm-controller - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} + name: {{ include "csi-driver-lvm.eviction.deployment.fullname" . }} + labels: {{- include "csi-driver-lvm.labels" . | nindent 4 }} spec: selector: - matchLabels: - app: csi-driver-lvm-controller + matchLabels: {{ include "csi-driver-lvm.eviction.selectorlabels" . | nindent 6 }} replicas: 1 template: metadata: - labels: - app: csi-driver-lvm-controller + labels: {{ include "csi-driver-lvm.eviction.selectorlabels" . | nindent 8 }} spec: securityContext: runAsNonRoot: true @@ -114,10 +104,10 @@ spec: args: - --leader-elect - --health-probe-bind-address=:8081 - - --provisioner-name={{ .Values.lvm.driverName }} + - --provisioner-name={{ include "csi-driver-lvm.csi-driver.fullname" . }} image: "{{ .Values.evictionControllerImage.repository }}:{{ .Values.evictionControllerImage.tag }}" imagePullPolicy: {{ .Values.evictionControllerImage.pullPolicy }} - name: csi-driver-lvm-controller + name: {{ include "csi-driver-lvm.eviction.deployment.fullname" . }} ports: [] securityContext: allowPrivilegeEscalation: false @@ -145,6 +135,6 @@ spec: memory: 64Mi volumeMounts: [] volumes: [] - serviceAccountName: csi-driver-lvm-controller + serviceAccountName: {{ include "csi-driver-lvm.eviction.serviceaccount.fullname" . }} terminationGracePeriodSeconds: 10 {{- end }} diff --git a/charts/csi-driver-lvm/templates/storageclasses.yaml b/charts/csi-driver-lvm/templates/storageclasses.yaml index c04b5cb0..4bb35fab 100644 --- a/charts/csi-driver-lvm/templates/storageclasses.yaml +++ b/charts/csi-driver-lvm/templates/storageclasses.yaml @@ -1,135 +1,54 @@ ---- -{{- $storageClass := .Values.storageClasses.linear -}} -{{ if $storageClass.enabled }} -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: {{ .Values.lvm.storageClassStub }}-linear -{{- if not (empty $storageClass.additionalAnnotations) }} - annotations: - {{- $storageClass.additionalAnnotations | toYaml | nindent 4 -}} -{{ end }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -provisioner: {{ .Values.lvm.driverName }} -reclaimPolicy: {{ $storageClass.reclaimPolicy }} -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - type: "linear" -{{ end }} ---- -{{- $storageClass := .Values.storageClasses.mirror -}} -{{ if $storageClass.enabled }} -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: {{ .Values.lvm.storageClassStub }}-mirror -{{- if not (empty $storageClass.additionalAnnotations) }} - annotations: - {{- $storageClass.additionalAnnotations | toYaml | nindent 4 -}} -{{ end }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -provisioner: {{ .Values.lvm.driverName }} -reclaimPolicy: {{ $storageClass.reclaimPolicy }} -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - type: "mirror" -{{ end }} ---- -{{- $storageClass := .Values.storageClasses.striped -}} -{{ if $storageClass.enabled }} -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: {{ .Values.lvm.storageClassStub }}-striped -{{- if not (empty $storageClass.additionalAnnotations) }} - annotations: - {{- $storageClass.additionalAnnotations | toYaml | nindent 4 -}} -{{ end }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -provisioner: {{ .Values.lvm.driverName }} -reclaimPolicy: {{ $storageClass.reclaimPolicy }} -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - type: "striped" -{{ end }} ---- -{{- $storageClass := .Values.storageClasses.linearEncrypted -}} -{{ if $storageClass.enabled }} +{{- range .Values.storageClasses }} +{{- if .enabled }} apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: - name: {{ .Values.lvm.storageClassStub }}-linear-encrypted -{{- if not (empty $storageClass.additionalAnnotations) }} + name: {{ include "csi-driver-lvm.storageclass.fullname" (dict "global" $ "storageclass" .) }} +{{- if not (empty .additionalAnnotations) }} annotations: - {{- $storageClass.additionalAnnotations | toYaml | nindent 4 -}} -{{ end }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -provisioner: {{ .Values.lvm.driverName }} -reclaimPolicy: {{ $storageClass.reclaimPolicy }} -volumeBindingMode: WaitForFirstConsumer + {{- .additionalAnnotations | toYaml | nindent 4 -}} +{{- end }} + labels: {{- include "csi-driver-lvm.labels" $ | nindent 4 }} +provisioner: {{ include "csi-driver-lvm.csi-driver.fullname" $ }} +reclaimPolicy: {{ .reclaimPolicy }} +volumeBindingMode: {{ default "WaitForFirstConsumer" .volumeBindingMode }} allowVolumeExpansion: true -parameters: - type: "linear" - encryption: "true" - csi.storage.k8s.io/node-stage-secret-name: {{ $storageClass.encryptionSecret.name }} - csi.storage.k8s.io/node-stage-secret-namespace: {{ $storageClass.encryptionSecret.namespace }} -{{ end }} +parameters: {{ include "csi-driver-lvm.storageclass.parameters" (dict "global" $ "storageclass" .) | nindent 2 }} --- -{{- $storageClass := .Values.storageClasses.mirrorEncrypted -}} -{{ if $storageClass.enabled }} -apiVersion: storage.k8s.io/v1 -kind: StorageClass + +{{- if and .parameters.encryption (eq .parameters.encryption "true" ) }} + +{{- $secretName := (include "csi-driver-lvm.storageclass.encryption.secret.fullname" (dict "global" $ "storageclass" .)) }} +{{- if not (empty (index .parameters "csi.storage.k8s.io/node-stage-secret-name")) }} +{{- $secretName := (index .parameters "csi.storage.k8s.io/node-stage-secret-name") }} +{{- end }} + +{{- $secretNamespace := (include "csi-driver-lvm.storageclass.encryption.secret.namespace" (dict "global" $ "storageclass" .)) }} +{{- if not (empty (index .parameters "csi.storage.k8s.io/node-stage-secret-namespace")) }} +{{- $secretNamespace := (index .parameters "csi.storage.k8s.io/node-stage-secret-namespace") }} +{{- end }} + +{{- $oldSecret := (lookup "v1" "Secret" $secretNamespace $secretName) }} + +apiVersion: v1 +kind: Secret metadata: - name: {{ .Values.lvm.storageClassStub }}-mirror-encrypted -{{- if not (empty $storageClass.additionalAnnotations) }} - annotations: - {{- $storageClass.additionalAnnotations | toYaml | nindent 4 -}} -{{ end }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -provisioner: {{ .Values.lvm.driverName }} -reclaimPolicy: {{ $storageClass.reclaimPolicy }} -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - type: "mirror" - encryption: "true" - csi.storage.k8s.io/node-stage-secret-name: {{ $storageClass.encryptionSecret.name }} - csi.storage.k8s.io/node-stage-secret-namespace: {{ $storageClass.encryptionSecret.namespace }} -{{ end }} + name: {{ $secretName }} + namespace: {{ $secretNamespace }} + labels: {{- include "csi-driver-lvm.labels" $ | nindent 4 }} +type: Opaque +data: + {{- if not (empty .passphrase) }} + passphrase: {{ .passphrase | b64enc | quote }} + {{- else }} + {{- if $oldSecret }} + passphrase: {{ $oldSecret.data.passphrase }} + {{- else }} + passphrase: {{ randAlphaNum 32 | b64enc | quote }} + {{- end }} + {{- end }} --- -{{- $storageClass := .Values.storageClasses.stripedEncrypted -}} -{{ if $storageClass.enabled }} -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: {{ .Values.lvm.storageClassStub }}-striped-encrypted -{{- if not (empty $storageClass.additionalAnnotations) }} - annotations: - {{- $storageClass.additionalAnnotations | toYaml | nindent 4 -}} -{{ end }} - labels: - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -provisioner: {{ .Values.lvm.driverName }} -reclaimPolicy: {{ $storageClass.reclaimPolicy }} -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - type: "striped" - encryption: "true" - csi.storage.k8s.io/node-stage-secret-name: {{ $storageClass.encryptionSecret.name }} - csi.storage.k8s.io/node-stage-secret-namespace: {{ $storageClass.encryptionSecret.namespace }} -{{ end }} +{{- end }} + +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/csi-driver-lvm/values.yaml b/charts/csi-driver-lvm/values.yaml index 805bb4e7..9c5bfe55 100644 --- a/charts/csi-driver-lvm/values.yaml +++ b/charts/csi-driver-lvm/values.yaml @@ -7,9 +7,9 @@ lvm: hostWritePath: /etc/lvm # these are primariliy for testing purposes - vgName: csi-lvm - driverName: lvm.csi.metal-stack.io - storageClassStub: csi-driver-lvm + # vgName: csi-lvm + # driverName: lvm.csi.metal-stack.io + # storageClassStub: csi-driver-lvm logLevel: info rbac: @@ -42,41 +42,48 @@ kubernetes: kubeletPath: /var/lib/kubelet storageClasses: - linear: + - name: linear enabled: true additionalAnnotations: [] - # this might be used to mark one of the StorageClasses as default: - # storageclass.kubernetes.io/is-default-class: "true" reclaimPolicy: Delete - striped: + parameters: + type: "linear" + - name: striped enabled: true additionalAnnotations: [] reclaimPolicy: Delete - mirror: + parameters: + type: "striped" + - name: mirror enabled: true additionalAnnotations: [] reclaimPolicy: Delete - linearEncrypted: - enabled: false + parameters: + type: "mirror" + - name: linear-encrypted + enabled: true additionalAnnotations: [] reclaimPolicy: Delete - encryptionSecret: - name: csi-lvm-encryption-secret - namespace: default - stripedEncrypted: - enabled: false + parameters: + type: "linear" + encryption: "true" + - name: striped-encrypted + enabled: true additionalAnnotations: [] reclaimPolicy: Delete - encryptionSecret: - name: csi-lvm-encryption-secret - namespace: default - mirrorEncrypted: - enabled: false + parameters: + type: "striped" + encryption: "true" + - name: mirror-encrypted + enabled: true additionalAnnotations: [] reclaimPolicy: Delete - encryptionSecret: - name: csi-lvm-encryption-secret - namespace: default + # passphrase: "encryption-passphrase" + parameters: + type: "mirror" + encryption: "true" + # csi.storage.k8s.io/node-stage-secret-name: "testsecret" + # csi.storage.k8s.io/node-stage-secret-namespace: "testsecretnamespace" nodeSelector: # The plugin daemonset will run on all nodes if it has a toleration,