d820e8eeff69e94ab909e21d91a9099c9d8e4139
[arvados-k8s.git] / charts / arvados / templates / postgres-deployment.yaml
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 apiVersion: apps/v1
6 kind: StatefulSet
7 metadata:
8   name: "arvados-postgres"
9   labels:
10     app: arvados-postgres
11     chart: {{ template "arvados.chart" . }}
12     release: {{ .Release.Name }}
13     heritage: {{ .Release.Service }}
14 spec:
15   replicas: 1
16   podManagementPolicy: Parallel
17   serviceName: arvados-postgres
18   selector:
19     matchLabels:
20       app: arvados-postgres
21       release: {{ .Release.Name }}
22   template:
23     metadata:
24       labels:
25         app: arvados-postgres
26         release: {{ .Release.Name }}
27     spec:
28       terminationGracePeriodSeconds: 1
29       containers:
30         - name: {{ .Chart.Name }}
31           image: "postgres:9.5"
32           imagePullPolicy: {{ .Values.image.pullPolicy }}
33           env:
34             - name: POSTGRES_HOST_AUTH_METHOD
35               value: "trust"
36           volumeMounts:
37             - name: postgres-configmap
38               mountPath: /docker-entrypoint-initdb.d/create_dbs.sh
39               subPath: create_dbs.sh
40             {{- if .Values.postgres.persistence.enabled }}
41             - name: postgres-storage
42               mountPath: /var/lib/postgresql/data
43             {{- end }}
44       volumes:
45         - name: postgres-configmap
46           configMap:
47             name: postgres-configmap
48         {{- if .Values.postgres.persistence.enabled }}
49         - name: postgres-storage
50           persistentVolumeClaim:
51             claimName: {{ .Release.Name }}-postgres-pvc
52         {{- end }}
53   {{- if .Values.postgres.persistence.enabled }}
54   volumeClaimTemplates:
55     - metadata:
56         name: postgres-storage
57       spec:
58         storageClassName: {{ .Values.postgres.persistence.storageClass }}
59         accessModes:
60           - ReadWriteOnce
61         resources:
62           requests:
63             storage: {{ .Values.postgres.persistence.size }}
64   {{- end }}