diff --git a/helm-chart/eoapi/templates/pv-static-efs-rwmany.yaml b/helm-chart/eoapi/templates/pv-static-efs-rwmany.yaml new file mode 100644 index 00000000..07319fb1 --- /dev/null +++ b/helm-chart/eoapi/templates/pv-static-efs-rwmany.yaml @@ -0,0 +1,19 @@ +#https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/examples/kubernetes/static_provisioning/README.md +{{- if and (.Values.postgresclusterNFSStaticPV.enabled) (.Values.postgrescluster.enabled) }} +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: efs-pv +spec: + capacity: + storage: 300Mi + volumeMode: Filesystem + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + storageClassName: {{ .Values.postgresclusterNFSStaticPV.storageClassName }} + csi: + driver: efs.csi.aws.com + volumeHandle: {{ .Values.postgresclusterNFSStaticPV.volumeHandle }} +{{- end }} \ No newline at end of file diff --git a/helm-chart/eoapi/values.yaml b/helm-chart/eoapi/values.yaml index bea31574..740383d6 100644 --- a/helm-chart/eoapi/values.yaml +++ b/helm-chart/eoapi/values.yaml @@ -98,6 +98,18 @@ db: PGPASSWORD: "" PGDATABASE: "postgis" +# on AWS we use the EBS and EFS CSI drivers that dynamically create +# and mount storage on request via PVC(s) but for NFS +# the EFS CSI driver by default creates mounts with access points +# that restrict read/write permissions to the uid:gid of the mount. +# in simple cases we don't want to have to think about this extra layer for NFS +# and this is a workaround to mount a static NFS without access points. +# NOTE: GCP and other IaC haven't been set up to use NFS yet +postgresclusterNFSStaticPV: + enabled: false + storageClassName: "" + volumeHandle: "" + # this is declared as a dependency of eoapi in helm-chart/eoapi/Chart.yaml postgrescluster: enabled: true