{{- define "storage-values" }} {{- with index .Values "storage" "lvm-localpv" }} lvm-localpv: {{- toYaml . | nindent 2 }} prometheus: enabled: {{ $.Values.metrics.enabled }} {{- end }} {{- with .Values.storage.gemini }} gemini: {{- toYaml . | nindent 2 }} {{- end }} {{- with .Values.storage.k8up }} k8up: {{- toYaml . | nindent 2 }} {{- end }} snapshotController: # install controller if any capable storage driver is enabled enabled: {{ or (index .Values "storage" "lvm-localpv" "enabled") (index .Values "storage" "aws-ebs-csi-driver" "enabled")}} {{- if eq .Values.global.platform "aws" }} aws-ebs-csi-driver: enabled: {{ default false (index .Values "storage" "aws-ebs-csi-driver" "enabled")}} controller: replicaCount: {{ ternary 2 1 .Values.global.highAvailable }} k8sTagClusterId: {{ .Values.global.clusterName }} enableMetrics: {{ .Values.metrics.enabled }} region: {{ .Values.global.aws.region }} env: - name: AWS_ROLE_ARN value: {{ index .Values "storage" "aws-ebs-csi-driver" "IamArn" | quote }} - name: AWS_WEB_IDENTITY_TOKEN_FILE value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token" - name: AWS_STS_REGIONAL_ENDPOINTS value: regional {{- if not .Values.global.highAvailable }} sidecars: provisioner: leaderElection: enabled: false attacher: leaderElection: enabled: false resizer: leaderElection: enabled: false volumemodifier: leaderElection: enabled: false {{- end }} aws-efs-csi-driver: enabled: {{ default false (index .Values "storage" "aws-efs-csi-driver" "enabled")}} replicaCount: {{ ternary 2 1 .Values.global.highAvailable }} controller: {{- with index .Values "storage" "aws-efs-csi-driver" "IamArn" }} extraEnv: - name: AWS_ROLE_ARN value: {{ . | quote }} - name: AWS_WEB_IDENTITY_TOKEN_FILE value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token" {{- end }} # The EFS controller steel needs hostnetwork and cannot update on single node control planes otherwise {{- if not .Values.global.highAvailable }} updateStrategy: type: Recreate {{- else }} affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - efs-csi-controller topologyKey: "kubernetes.io/hostname" {{- end }} # Dynamic Provisioning {{- with index .Values "storage" "aws-efs-csi-driver" "storageClasses" }} storageClasses: {{- toYaml . | nindent 4 }} {{- end }} # Legacy static provisioning {{- with index .Values "storage" "aws-efs-csi-driver" "PersistentVolumes" }} PersistentVolumes: {{- toYaml . | nindent 4 }} {{- end }} {{- end }} {{- end }} {{- define "storage-argo" }} {{- end }} {{ include "kubezero-app.app" . }}