diff --git a/helm/gen3/README.md b/helm/gen3/README.md index 62073e924..2cafb505b 100644 --- a/helm/gen3/README.md +++ b/helm/gen3/README.md @@ -224,6 +224,7 @@ Published versions of this chart are listed in the | hatchery.hatchery.containers[0].use-tls | string | `"false"` | | | hatchery.hatchery.containers[0].user-uid | int | `1010` | | | hatchery.hatchery.containers[0].user-volume-location | string | `"/home/jovyan/pd"` | | +| hatchery.hatchery.defaultStorageClass | string | `""` | StorageClass for the user volume PVCs created by hatchery for workspace pods (e.g. user NFS home dirs). Leave empty to use the cluster-default StorageClass. | | hatchery.hatchery.reaper.enabled | bool | `true` | | | hatchery.hatchery.reaper.idleTimeoutSeconds | int | `3600` | | | hatchery.hatchery.reaper.schedule | string | `"*/15 * * * *"` | | diff --git a/helm/gen3/values.yaml b/helm/gen3/values.yaml index f76c1e5d2..a4982ca72 100644 --- a/helm/gen3/values.yaml +++ b/helm/gen3/values.yaml @@ -275,6 +275,9 @@ hatchery: enabled: true hatchery: + # -- (string) StorageClass for the user volume PVCs created by hatchery for + # workspace pods (e.g. user NFS home dirs). Leave empty to use the cluster-default StorageClass. + defaultStorageClass: "" sidecarContainer: # -- (string) The maximum amount of CPU the sidecar container can use cpu-limit: "0.1" diff --git a/helm/hatchery/README.md b/helm/hatchery/README.md index e83cb74c5..cfd32b203 100644 --- a/helm/hatchery/README.md +++ b/helm/hatchery/README.md @@ -78,6 +78,7 @@ Published versions of this chart are listed in the | global.topologySpread.topologyKey | string | `"topology.kubernetes.io/zone"` | The topology key to use for spreading. Defaults to "topology.kubernetes.io/zone". | | global.vpcId | string | `nil` | Environment name. This should be the same as vpcname if you're doing an AWS deployment. Currently this is being used to share ALB's if you have multiple namespaces. Might be used other places too. | | hatchery.containers | list | `[{"args":["--JupyterNotebookApp.base_url=/lw-workspace/proxy/","--JupyterNotebookApp.default_url=/lab","--JupyterNotebookApp.password=''","--JupyterNotebookApp.token=''","--JupyterNotebookApp.shutdown_no_activity_timeout=5400","--JupyterNotebookApp.quit_button=False"],"command":["start-notebook.sh"],"cpu-limit":"2","env":{"FRAME_ANCESTORS":"https://{{ .Values.global.hostname }}"},"fs-gid":100,"gen3-volume-location":"/home/jovyan/.gen3","image":"quay.io/cdis/jupyter-superslim:2.1.0","lifecycle-post-start":["/bin/sh","-c","export IAM=`whoami`; rm -rf /home/$IAM/pd/dockerHome; rm -rf /home/$IAM/pd/lost+found; ln -s /data /home/$IAM/pd/; true"],"memory-limit":"3Gi","name":"(Tutorials) Example Analysis Jupyter Lab Notebooks","path-rewrite":"/lw-workspace/proxy/","ready-probe":"/lw-workspace/proxy/","target-port":8888,"use-tls":"false","user-uid":1010,"user-volume-location":"/home/jovyan/pd"}]` | Notebook configuration. | +| hatchery.defaultStorageClass | string | `""` | The StorageClass to use for the user volume PVCs created by hatchery for workspace pods (e.g. user NFS home dirs). Leave empty to omit storageClassName on the claim so the cluster-default StorageClass is used. | | hatchery.json | string | `""` | | | hatchery.oidcProviderArn | string | `""` | | | hatchery.reaper.enabled | bool | `true` | | diff --git a/helm/hatchery/templates/hatchery-manifest.yaml b/helm/hatchery/templates/hatchery-manifest.yaml index 8a697b812..3613d17d5 100644 --- a/helm/hatchery/templates/hatchery-manifest.yaml +++ b/helm/hatchery/templates/hatchery-manifest.yaml @@ -13,6 +13,9 @@ data: "use-internal-services-url": {{ or .Values.global.dev .Values.hatchery.useInternalServicesUrl | toJson }}, "sub-dir": "/lw-workspace", "user-volume-size": "10Gi", + {{- if .Values.hatchery.defaultStorageClass }} + "default-storage-class": "{{ .Values.hatchery.defaultStorageClass }}", + {{- end }} "sidecar": {{ tpl (.Values.hatchery.sidecarContainer | toJson) . }}, "containers": {{ tpl (.Values.hatchery.containers | toJson) . }}, "shared-workspace": { diff --git a/helm/hatchery/values.yaml b/helm/hatchery/values.yaml index ed2256acb..b9221199a 100644 --- a/helm/hatchery/values.yaml +++ b/helm/hatchery/values.yaml @@ -208,6 +208,10 @@ volumeMounts: hatchery: json: "" + # -- (string) The StorageClass to use for the user volume PVCs created by + # hatchery for workspace pods (e.g. user NFS home dirs). Leave empty to + # omit storageClassName on the claim so the cluster-default StorageClass is used. + defaultStorageClass: "" sharedWorkspaceEnabled: false # ARN of the OIDC provider for shared workspace. oidcProviderArn: ""