diff --git a/helm/flowforge/README.md b/helm/flowforge/README.md index 259a78bd..a8ec152c 100644 --- a/helm/flowforge/README.md +++ b/helm/flowforge/README.md @@ -165,6 +165,17 @@ Enables FlowForge Telemetry - `forge.fileStore.labels` allows to add custom labels to the file-server related objects (e.g. deployment, services, etc.) (default `{}`) - `forge.fileStore.podLabels` allows to add custom labels to the file-server pod (default `{}`) +### Persistent Storage + +This is a replacement for the File Storage, both can be run at once to enable migration + +- `forge.persistentStorage.enabled` (default `false`) +- `forge.persistentStorage.size` The size of the Persistent Volume that will be mounted into each instance e.g. `5Gi` (default not set) +- `forge.persistentStorage.storageClass` The name of the Kubernetes Storage Class used to provision the volumes (default not set) +- `forge.persistentStorage.storageClassEFSTag` The name of a AWS Tag used to find EFS Volumes when needing to scale (default not set) + +One of either `storageClass` or `storageClassEFSTag` needs to be set. + ### Private Certificate Authority - `forge.privateCA.configMapName` name of ConfigMap to store the CA Cert bundle (default `ff-ca-certs`) diff --git a/helm/flowforge/templates/configmap.yaml b/helm/flowforge/templates/configmap.yaml index 8dfaa929..7c0f0b2e 100644 --- a/helm/flowforge/templates/configmap.yaml +++ b/helm/flowforge/templates/configmap.yaml @@ -75,6 +75,19 @@ data: ingressClass: {{ .Values.forge.customHostname.ingressClass }} {{- end }} {{- end }} + {{- if .Values.forge.persistentStorage }} + storage: + enabled: {{ .Values.forge.persistentStorage.enabled | default false }} + {{- if .Values.forge.persistentStorage.storageClass }} + storageClass: {{ .Values.forge.persistentStorage.storageClass }} + {{- end }} + {{- if .Values.forge.persistentStorage.storageClassEFSTag }} + storageClassEFSTag: {{ .Values.forge.persistentStorage.storageClassEFSTag }} + {{- end }} + {{- if .Values.forge.persistentStorage.size }} + size: {{ .Values.forge.persistentStorage.size }} + {{- end }} + {{- end }} {{- if .Values.forge.email }} email: enabled: true diff --git a/helm/flowforge/values.schema.json b/helm/flowforge/values.schema.json index ddfd9c82..ddfff91a 100644 --- a/helm/flowforge/values.schema.json +++ b/helm/flowforge/values.schema.json @@ -426,6 +426,24 @@ } } }, + "persistentStorage": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "storageClass": { + "type": "string" + }, + "storageClassEFSTag": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "required": [ "enabled" ] + }, "fileStore": { "type": "object", "properties": { diff --git a/helm/flowforge/values.yaml b/helm/flowforge/values.yaml index dd270751..0f8fda35 100644 --- a/helm/flowforge/values.yaml +++ b/helm/flowforge/values.yaml @@ -45,6 +45,9 @@ forge: podLabels: {} ingress.annotations: {} + persistentStorage: + enabled: false + fileStore: enabled: false type: localfs