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: POSTGRES_PASSWORD
                            valueFrom:
                                secretKeyRef:
                                    name: pgpassword
                                    key: PGPASSWORD 