Skip to content

Commit f69b904

Browse files
yosefmihMauAraujo
andauthored
feat: adds a persistent disk helm chart to install efs persistent storage (#1578)
* wip * save progress * add a pd chart * fix newlines --------- Co-authored-by: Mauricio Araujo <[email protected]>
1 parent 23b2450 commit f69b904

File tree

5 files changed

+75
-0
lines changed

5 files changed

+75
-0
lines changed

Tiltfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ local_resource(
8484
helm cm-push addons/porter-agent local && \
8585
helm cm-push addons/karpenter local && \
8686
helm cm-push addons/tailscale-operator local && \
87+
helm cm-push addons/persistent-disk local && \
8788
helm repo update local
8889
''',
8990
deps=[

addons/persistent-disk/Chart.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: v2
2+
name: persistent-disk
3+
description: A Helm chart for creating a persistent disk via a StorageClass, PV, and PVC, backed by Cloud Provider disks.
4+
type: application
5+
version: 0.1.0
6+
appVersion: "0.1.0"
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{- if .Values.storageClass.efs.enabled -}}
2+
apiVersion: v1
3+
kind: PersistentVolumeClaim
4+
metadata:
5+
name: {{ .Release.Name }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
porter.run/addon-name: {{ .Release.Name }}
9+
porter.run/addon-type: persistent-disk
10+
{{- with .Values.labels }}
11+
{{- toYaml . | nindent 4 }}
12+
{{- end }}
13+
annotations:
14+
{{- with .Values.annotations }}
15+
{{- toYaml . | nindent 4 }}
16+
{{- end }}
17+
spec:
18+
accessModes:
19+
{{- toYaml .Values.persistentVolumeClaim.accessModes | nindent 4 }}
20+
resources:
21+
requests:
22+
storage: {{ .Values.persistentVolumeClaim.requestStorage }}
23+
storageClassName: {{ .Release.Name }}
24+
{{- end }}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{{- $scName := .Values.storageClass.name | default (printf "pd-sc-%s" .Release.Name) -}}
2+
apiVersion: storage.k8s.io/v1
3+
kind: StorageClass
4+
metadata:
5+
name: {{ .Release.Name }}
6+
labels:
7+
porter.run/addon-name: {{ .Release.Name }}
8+
porter.run/addon-type: persistent-disk
9+
{{- with .Values.labels }}
10+
{{- toYaml . | nindent 4 }}
11+
{{- end }}
12+
annotations:
13+
{{- with .Values.annotations }}
14+
{{- toYaml . | nindent 4 }}
15+
{{- end }}
16+
{{- if .Values.storageClass.efs.enabled }}
17+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }}
18+
volumeBindingMode: {{ .Values.storageClass.volumeBindingMode }}
19+
provisioner: {{ .Values.storageClass.efs.provisioner }}
20+
parameters:
21+
directoryPerms: {{ .Values.storageClass.directoryPerms | quote }}
22+
reuseAccessPoint: {{ .Values.storageClass.reuseAccessPoint | quote }}
23+
fileSystemId: {{ .Values.storageClass.efs.fileSystemId | quote }}
24+
provisioningMode: {{ .Values.storageClass.efs.provisioningMode | quote }}
25+
{{- end }}

addons/persistent-disk/values.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
labels: {}
2+
3+
annotations: {}
4+
5+
storageClass:
6+
reclaimPolicy: "Retain"
7+
volumeBindingMode: "Immediate"
8+
directoryPerms: "777"
9+
reuseAccessPoint: "true"
10+
efs:
11+
enabled: true
12+
fileSystemId: ""
13+
provisioningMode: "efs-ap"
14+
provisioner: efs.csi.aws.com
15+
16+
persistentVolumeClaim:
17+
requestStorage: "5Gi"
18+
accessModes:
19+
- ReadWriteMany

0 commit comments

Comments
 (0)