wordpress-helm/charts/templates/postgresql-statefulset.yaml
Rebecca Valente 47c42f0430
Some checks failed
package-helm-chart / package-helm-chart (push) Failing after 2m49s
initial commit
2025-09-22 19:03:15 -03:00

96 lines
3.2 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "wordpress-website.fullname" . }}-postgresql
labels:
{{- include "wordpress-website.labels" . | nindent 4 }}
app.kubernetes.io/component: database
spec:
serviceName: {{ include "wordpress-website.fullname" . }}-postgresql
replicas: 1
selector:
matchLabels:
{{- include "wordpress-website.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: database
template:
metadata:
labels:
{{- include "wordpress-website.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: database
spec:
securityContext:
{{- toYaml .Values.postgresql.podSecurityContext | nindent 8 }}
containers:
- name: postgresql
image: "{{ .Values.postgresql.image.repository }}:{{ .Values.postgresql.image.tag }}"
imagePullPolicy: {{ .Values.postgresql.image.pullPolicy }}
ports:
- name: postgresql
containerPort: 5432
protocol: TCP
env:
- name: POSTGRES_DB
value: {{ .Values.postgresql.database }}
- name: POSTGRES_USER
value: {{ .Values.postgresql.username }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "wordpress-website.fullname" . }}-postgresql
key: postgresql-password
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
- name: PGUSER
value: {{ .Values.postgresql.username }}
- name: PGDATABASE
value: {{ .Values.postgresql.database }}
livenessProbe:
exec:
command:
- /bin/sh
- -c
- exec pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB" -h 127.0.0.1 -p 5432
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 6
readinessProbe:
exec:
command:
- /bin/sh
- -c
- exec pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB" -h 127.0.0.1 -p 5432
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 6
resources:
{{- toYaml .Values.postgresql.resources | nindent 12 }}
volumeMounts:
- name: postgresql-data
mountPath: /var/lib/postgresql/data
volumes:
- name: postgresql-data
persistentVolumeClaim:
claimName: {{ include "wordpress-website.fullname" . }}-postgresql-data
---
apiVersion: v1
kind: Service
metadata:
name: {{ include "wordpress-website.fullname" . }}-postgresql
labels:
{{- include "wordpress-website.labels" . | nindent 4 }}
app.kubernetes.io/component: database
spec:
type: ClusterIP
ports:
- port: 5432
targetPort: postgresql
protocol: TCP
name: postgresql
selector:
{{- include "wordpress-website.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: database