Skip to content

Commit 795d621

Browse files
authored
Merge pull request #12 from toddaheath/feat/postgres-statefulset
feat: convert postgres Deployment to StatefulSet
2 parents fe44d60 + 4f0a931 commit 795d621

File tree

2 files changed

+54
-58
lines changed

2 files changed

+54
-58
lines changed

deploy/helm/shed-builder/templates/postgres-pvc.yaml

Lines changed: 0 additions & 15 deletions
This file was deleted.

deploy/helm/shed-builder/templates/postgres-deployment.yaml renamed to deploy/helm/shed-builder/templates/postgres-statefulset.yaml

Lines changed: 54 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,54 @@
1-
apiVersion: apps/v1
2-
kind: Deployment
3-
metadata:
4-
name: {{ include "shed-builder.fullname" . }}-postgres
5-
labels:
6-
{{- include "shed-builder.labels" . | nindent 4 }}
7-
app.kubernetes.io/component: postgres
8-
spec:
9-
replicas: 1
10-
selector:
11-
matchLabels:
12-
app.kubernetes.io/name: {{ .Chart.Name }}
13-
app.kubernetes.io/instance: {{ .Release.Name }}
14-
app.kubernetes.io/component: postgres
15-
template:
16-
metadata:
17-
labels:
18-
app.kubernetes.io/name: {{ .Chart.Name }}
19-
app.kubernetes.io/instance: {{ .Release.Name }}
20-
app.kubernetes.io/component: postgres
21-
spec:
22-
containers:
23-
- name: postgres
24-
image: "{{ .Values.postgres.image.repository }}:{{ .Values.postgres.image.tag }}"
25-
ports:
26-
- containerPort: {{ .Values.postgres.port }}
27-
env:
28-
- name: POSTGRES_DB
29-
value: {{ .Values.postgres.database }}
30-
- name: POSTGRES_USER
31-
value: {{ .Values.postgres.username }}
32-
- name: POSTGRES_PASSWORD
33-
valueFrom:
34-
secretKeyRef:
35-
name: {{ include "shed-builder.fullname" . }}-db
36-
key: postgres-password
37-
volumeMounts:
38-
- name: postgres-data
39-
mountPath: /var/lib/postgresql/data
40-
volumes:
41-
- name: postgres-data
42-
persistentVolumeClaim:
43-
claimName: {{ include "shed-builder.fullname" . }}-postgres
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
name: {{ include "shed-builder.fullname" . }}-postgres
5+
labels:
6+
{{- include "shed-builder.labels" . | nindent 4 }}
7+
app.kubernetes.io/component: postgres
8+
spec:
9+
serviceName: {{ include "shed-builder.fullname" . }}-postgres
10+
replicas: 1
11+
selector:
12+
matchLabels:
13+
app.kubernetes.io/name: {{ .Chart.Name }}
14+
app.kubernetes.io/instance: {{ .Release.Name }}
15+
app.kubernetes.io/component: postgres
16+
template:
17+
metadata:
18+
labels:
19+
app.kubernetes.io/name: {{ .Chart.Name }}
20+
app.kubernetes.io/instance: {{ .Release.Name }}
21+
app.kubernetes.io/component: postgres
22+
spec:
23+
containers:
24+
- name: postgres
25+
image: "{{ .Values.postgres.image.repository }}:{{ .Values.postgres.image.tag }}"
26+
ports:
27+
- containerPort: {{ .Values.postgres.port }}
28+
env:
29+
- name: POSTGRES_DB
30+
value: {{ .Values.postgres.database }}
31+
- name: POSTGRES_USER
32+
value: {{ .Values.postgres.username }}
33+
- name: POSTGRES_PASSWORD
34+
valueFrom:
35+
secretKeyRef:
36+
name: {{ include "shed-builder.fullname" . }}-db
37+
key: postgres-password
38+
- name: PGDATA
39+
value: /var/lib/postgresql/data/pgdata/initdb
40+
volumeMounts:
41+
- name: postgres-data
42+
mountPath: /var/lib/postgresql/data
43+
volumeClaimTemplates:
44+
- metadata:
45+
name: postgres-data
46+
spec:
47+
accessModes:
48+
- ReadWriteOnce
49+
{{- if .Values.postgres.storage.storageClass }}
50+
storageClassName: {{ .Values.postgres.storage.storageClass }}
51+
{{- end }}
52+
resources:
53+
requests:
54+
storage: {{ .Values.postgres.storage.size }}

0 commit comments

Comments
 (0)