From bb503e51e0cd312a92bf480ff9ec0d48e6cc9879 Mon Sep 17 00:00:00 2001 From: Ben Klang Date: Thu, 7 May 2020 15:13:41 -0400 Subject: [PATCH] [stable/nextcloud] Create option to specify extra deployment volumes (#22293) * Create option to specify extra deployment volumes This is useful when converting from a legacy NextCloud environment to Kubernetes. Our deployment has data stored in an NFS volume. Using these new options, we can now directly import that volume into our Kubernetes NextCloud pods and migrate the data more easily (or even run the new pods with the old storage). Signed-off-by: Ben Klang * Chart version bump Signed-off-by: Ben Klang --- stable/nextcloud/Chart.yaml | 2 +- stable/nextcloud/README.md | 2 ++ stable/nextcloud/templates/deployment.yaml | 6 ++++++ stable/nextcloud/values.yaml | 12 ++++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/stable/nextcloud/Chart.yaml b/stable/nextcloud/Chart.yaml index afae9332cd..14bdc90927 100644 --- a/stable/nextcloud/Chart.yaml +++ b/stable/nextcloud/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: nextcloud -version: 1.9.6 +version: 1.10.0 appVersion: 17.0.0 description: A file sharing server that puts the control and security of your own data back into your hands. keywords: diff --git a/stable/nextcloud/README.md b/stable/nextcloud/README.md index 693bce20d2..9236989c79 100644 --- a/stable/nextcloud/README.md +++ b/stable/nextcloud/README.md @@ -82,6 +82,8 @@ The following table lists the configurable parameters of the nextcloud chart and | `nextcloud.defaultConfigs.\.autoconfig\.php` | Default auto-configuration for databases | `true` | | `nextcloud.defaultConfigs.\.smtp\.config\.php` | Default configuration for smtp | `true` | | `nextcloud.extraEnv` | specify additional environment variables | `{}` | +| `nextcloud.extraVolumes` | specify additional volumes for the NextCloud pod | `{}` | +| `nextcloud.extraVolumeMounts` | specify additional volume mounts for the NextCloud pod | `{}` | | `nginx.enabled` | Enable nginx (requires you use php-fpm image) | `false` | | `nginx.image.repository` | nginx Image name | `nginx` | | `nginx.image.tag` | nginx Image tag | `alpine` | diff --git a/stable/nextcloud/templates/deployment.yaml b/stable/nextcloud/templates/deployment.yaml index dd658cc254..1709413020 100644 --- a/stable/nextcloud/templates/deployment.yaml +++ b/stable/nextcloud/templates/deployment.yaml @@ -241,6 +241,9 @@ spec: mountPath: /usr/local/etc/php/conf.d/{{ $key }} subPath: {{ $key }} {{- end }} + {{- if .Values.nextcloud.extraVolumeMounts }} +{{ toYaml .Values.nextcloud.extraVolumeMounts | indent 8 }} + {{- end }} {{- if .Values.nginx.enabled }} - name: {{ .Chart.Name }}-nginx image: "{{ .Values.nginx.image.repository }}:{{ .Values.nginx.image.tag }}" @@ -340,6 +343,9 @@ spec: configMap: name: {{ template "nextcloud.fullname" . }}-nginxconfig {{- end }} + {{- if .Values.nextcloud.extraVolumes }} +{{ toYaml .Values.nextcloud.extraVolumes | indent 6 }} + {{- end }} {{- if .Values.nginx.enabled }} # Will mount configuration files as www-data (id: 82) for nextcloud securityContext: diff --git a/stable/nextcloud/values.yaml b/stable/nextcloud/values.yaml index d9191d19f2..0bea8bee1d 100644 --- a/stable/nextcloud/values.yaml +++ b/stable/nextcloud/values.yaml @@ -134,6 +134,18 @@ nextcloud: # name: nextcloud # key: secret_key + # Extra mounts for the pods. Example shown is for connecting a legacy NFS volume + # to NextCloud pods in Kubernetes. This can then be configured in External Storage + extraVolumes: + # - name: nfs + # nfs: + # server: "10.0.0.1" + # path: "/nextcloud_data" + # readOnly: false + extraVolumeMounts: + # - name: nfs + # mountPath: "/legacy_data" + nginx: ## You need to set an fpm version of the image for nextcloud if you want to use nginx! enabled: false