KubeZero/charts/kubezero/templates/storage.yaml

101 lines
2.9 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.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")}}
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:
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:
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 }}
{{- define "storage-argo" }}
{{- end }}
{{ include "kubezero-app.app" . }}