apiVersion: apps/v1
kind: Deployment
metadata:
    name: postgres-deployment
spec:
    replicas: 1
    selector:
        matchLabels:
            component: postgres
    template:
        metadata:
            labels:
                component: postgres
        spec:
            volumes:
                - name: postgres-storage
                  persistentVolumeClaim:
                      claimName: database-persistent-volume-claim
            containers:
                - name: postgres
                  image: postgres
                  ports:
                      - containerPort: 5432
                  volumeMounts:
                      - name: postgres-storage
                        mountPath: /var/lib/postgresql/data
                        subPath: postgres
                  env:
                      - name: PGPASSWORD
                        valueFrom:
                            secretKeyRef:
                                name: pgpassword
                                key: PGPASSWORD
