kubezero/charts/kubezero/templates/storage.yaml

94 lines
2.8 KiB
YAML

{{- 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.velero }}
velero:
{{- toYaml . | nindent 2 }}
{{- end }}
snapshotController:
enabled: {{ default false (or (index .Values "storage" "velero" "enabled") (index .Values "storage" "gemini" "enabled")) }}
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 }}
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 .Values.global.highAvailable }}
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- ebs-csi-controller
topologyKey: "kubernetes.io/hostname"
{{- end }}
aws-efs-csi-driver:
enabled: {{ default false (index .Values "storage" "aws-efs-csi-driver" "enabled")}}
replicaCount: {{ ternary 2 1 .Values.global.highAvailable }}
controller:
extraEnv:
- name: AWS_ROLE_ARN
value: {{ index .Values "storage" "aws-efs-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
# The EFS controller steel needs hostnetwork and cannot update on single node control planes otherwise
{{- if not .Values.global.highAvailable }}
updateStrategy: 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 }}
{{- define "storage-argo" }}
{{- end }}
{{ include "kubezero-app.app" . }}