This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
app/charts/groombook/templates/postgresql-statefulset.yaml
T
groombook-engineer[bot] dcdc792875 Add Helm chart scaffold with Chart.yaml, values.yaml, helpers, and all templates
Adds full Helm chart for GroomBook including migration job (pre-install/pre-upgrade hook), CNPG cluster (operator mode), DragonflyDB (integrated + operator modes), API/web deployments, services, and ingress templates.

Resolves GRO-89.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-27 18:36:28 +00:00

73 lines
2.4 KiB
YAML

{{- if eq .Values.postgresql.mode "integrated" }}
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "groombook.fullname" . }}-postgresql
labels:
{{- include "groombook.labels" . | nindent 4 }}
app.kubernetes.io/component: postgresql
spec:
serviceName: {{ include "groombook.fullname" . }}-postgresql
replicas: 1
selector:
matchLabels:
{{- include "groombook.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: postgresql
template:
metadata:
labels:
{{- include "groombook.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: postgresql
spec:
containers:
- name: postgresql
image: {{ .Values.postgresql.integrated.image }}
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
name: postgresql
protocol: TCP
env:
- name: POSTGRES_DB
value: {{ .Values.postgresql.integrated.auth.database | quote }}
- name: POSTGRES_USER
value: {{ .Values.postgresql.integrated.auth.username | quote }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "groombook.fullname" . }}-db-credentials
key: postgresql-password
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
readinessProbe:
exec:
command:
- pg_isready
- -U
- {{ .Values.postgresql.integrated.auth.username | quote }}
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
exec:
command:
- pg_isready
- -U
- {{ .Values.postgresql.integrated.auth.username | quote }}
initialDelaySeconds: 30
periodSeconds: 30
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
{{- if .Values.postgresql.integrated.storage.storageClass }}
storageClassName: {{ .Values.postgresql.integrated.storage.storageClass }}
{{- end }}
resources:
requests:
storage: {{ .Values.postgresql.integrated.storage.size }}
{{- end }}