From: Mike Ludwig Date: Thu, 26 Nov 2020 00:06:41 +0000 (-0500) Subject: support persistent volumes for postgres and the keep store X-Git-Url: https://git.arvados.org/arvados-k8s.git/commitdiff_plain/5236aa391c0e93691f4543bc06f204592513cbf1 support persistent volumes for postgres and the keep store Arvados-DCO-1.1-Signed-off-by: Michael Ludwig --- diff --git a/charts/arvados/templates/keep-store-deployment.yaml b/charts/arvados/templates/keep-store-deployment.yaml index 128bba9..f7fa8d1 100644 --- a/charts/arvados/templates/keep-store-deployment.yaml +++ b/charts/arvados/templates/keep-store-deployment.yaml @@ -38,8 +38,23 @@ spec: - name: etc-configmap mountPath: /etc/arvados/config.yml subPath: config.yml + {{- if .Values.keep.persistence.enabled }} + - name: keep-store-storage + mountPath: /keepdata + {{- end }} volumes: - name: etc-configmap configMap: name: etc-configmap - + {{- if .Values.keep.persistence.enabled }} + volumeClaimTemplates: + - metadata: + name: keep-store-storage + spec: + storageClassName: {{ .Values.keep.persistence.storageClass }} + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.keep.persistence.size }} + {{- end }} diff --git a/charts/arvados/templates/postgres-deployment.yaml b/charts/arvados/templates/postgres-deployment.yaml index 786edc3..8462bb6 100644 --- a/charts/arvados/templates/postgres-deployment.yaml +++ b/charts/arvados/templates/postgres-deployment.yaml @@ -27,13 +27,22 @@ spec: image: "postgres:9.5" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - - name: POSTGRES_HOST_AUTH_METHOD - value: "trust" + - name: POSTGRES_HOST_AUTH_METHOD + value: "trust" volumeMounts: - name: postgres-configmap mountPath: /docker-entrypoint-initdb.d/create_dbs.sh subPath: create_dbs.sh + {{- if .Values.postgres.persistence.enabled }} + - name: postgres-storage + mountPath: /var/lib/postgresql/data + {{- end }} volumes: - name: postgres-configmap configMap: name: postgres-configmap + {{- if .Values.postgres.persistence.enabled }} + - name: postgres-storage + persistentVolumeClaim: + claimName: {{ .Release.Name }}-postgres-pvc + {{- end }} diff --git a/charts/arvados/templates/postgres-pvc.yaml b/charts/arvados/templates/postgres-pvc.yaml new file mode 100644 index 0000000..85bcbc2 --- /dev/null +++ b/charts/arvados/templates/postgres-pvc.yaml @@ -0,0 +1,22 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + +{{- if .Values.postgres.persistence.enabled }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ .Release.Name }}-postgres-pvc + labels: + app: {{ template "arvados.name" . }} + chart: {{ template "arvados.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + storageClassName: {{ .Values.postgres.persistence.storageClass }} + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.postgres.persistence.size }} +{{- end }} \ No newline at end of file diff --git a/charts/arvados/values.yaml b/charts/arvados/values.yaml index b84eb8e..2fd94a3 100644 --- a/charts/arvados/values.yaml +++ b/charts/arvados/values.yaml @@ -77,6 +77,18 @@ arvados: arvadosCLI: 2.1.0 arvadosLoginSync: 2.1.0 +postgres: + persistence: + enabled: true + storageClass: ~ + size: 8Gi + +keep: + persistence: + enabled: true + storageClass: ~ + size: 64Gi + # A custom bundle of CA certificates to use. # Useful for corporate networks with TLS proxies. # Set it by using the --set-file Helm argument.