convert postgres to statefulset for persistence - credit ward@curii.com
authorMike Ludwig <mludwig@mitre.org>
Thu, 26 Nov 2020 00:16:58 +0000 (19:16 -0500)
committerMike Ludwig <mludwig@mitre.org>
Thu, 26 Nov 2020 00:16:58 +0000 (19:16 -0500)
Arvados-DCO-1.1-Signed-off-by: Michael Ludwig <michael.david.ludwig@gmail.com>

charts/arvados/templates/postgres-deployment.yaml
charts/arvados/templates/postgres-pvc.yaml [deleted file]

index 8462bb6d5e44ded48c3026bf0b589e1ca02e9e4e..d820e8eeff69e94ab909e21d91a9099c9d8e4139 100644 (file)
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 apiVersion: apps/v1
-kind: Deployment
+kind: StatefulSet
 metadata:
   name: "arvados-postgres"
   labels:
@@ -12,6 +12,9 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
+  replicas: 1
+  podManagementPolicy: Parallel
+  serviceName: arvados-postgres
   selector:
     matchLabels:
       app: arvados-postgres
@@ -22,6 +25,7 @@ spec:
         app: arvados-postgres
         release: {{ .Release.Name }}
     spec:
+      terminationGracePeriodSeconds: 1
       containers:
         - name: {{ .Chart.Name }}
           image: "postgres:9.5"
@@ -46,3 +50,15 @@ spec:
           persistentVolumeClaim:
             claimName: {{ .Release.Name }}-postgres-pvc
         {{- end }}
+  {{- if .Values.postgres.persistence.enabled }}
+  volumeClaimTemplates:
+    - metadata:
+        name: postgres-storage
+      spec:
+        storageClassName: {{ .Values.postgres.persistence.storageClass }}
+        accessModes:
+          - ReadWriteOnce
+        resources:
+          requests:
+            storage: {{ .Values.postgres.persistence.size }}
+  {{- end }}
diff --git a/charts/arvados/templates/postgres-pvc.yaml b/charts/arvados/templates/postgres-pvc.yaml
deleted file mode 100644 (file)
index 85bcbc2..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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