Files
Kubernetes-Build/postgres/templates/postgres-deploy.yaml
T

87 lines
2.4 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: {{.Values.postgres.host }}
image: {{.Values.postgres.image }}
ports:
- containerPort: {{.Values.postgres.port }}
env:
# PostgreSQL container environment variables
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.secretRef }}
key: POSTGRES_DB
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.secretRef }}
key: POSTGRES_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.secretRef }}
key: POSTGRES_PASSWORD
# Client environment variables (for psql command)
- name: PGDATABASE
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.secretRef }}
key: POSTGRES_DB
- name: PGUSER
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.secretRef }}
key: POSTGRES_USER
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.secretRef }}
key: POSTGRES_PASSWORD
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgredb
volumes:
- name: postgredb
persistentVolumeClaim:
claimName: postgresql-data-claim
{{- if .Values.postgres.client.enabled }}
---
apiVersion: v1
kind: Pod
metadata:
name: postgres-client
spec:
containers:
- name: postgres-client
image: {{.Values.postgres.image }}
command:
- tail
- -f
- /dev/null
envFrom:
- secretRef:
name: {{ .Values.postgres.secretRef }}
volumeMounts:
- name: secret-volume
readOnly: true
mountPath: "/etc/secret-volume"
volumes:
- name: secret-volume
secret:
defaultMode: 0600
secretName: {{ .Values.postgres.secretRef }}
restartPolicy: OnFailure
{{- end }}