k8s-platform/charts/postgres/templates/statefulset.yaml

49 lines
1.4 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ .Values.name }}
namespace: {{ .Values.namespace }}
spec:
serviceName: {{ .Values.name }}
replicas: 1
selector:
matchLabels:
app: {{ .Values.name }}
template:
metadata:
labels:
app: {{ .Values.name }}
spec:
nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
containers:
- name: postgres
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
ports:
- containerPort: 5432
name: postgres
env:
- name: POSTGRES_DB
value: {{ .Values.auth.database | quote }}
- name: POSTGRES_USER
value: {{ .Values.auth.username | quote }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.auth.secret }}
key: password
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeMounts:
- name: postgres-data
mountPath: /var/lib/postgresql/data
volumeClaimTemplates:
- metadata:
name: postgres-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: {{ .Values.storage.className }}
resources:
requests:
storage: {{ .Values.storage.size }}