apiVersion: apps/v1 kind: Deployment metadata: name: postgres namespace: n8n spec: replicas: 1 selector: matchLabels: app: postgres template: metadata: labels: app: postgres spec: containers: - name: postgres image: postgres:16-alpine ports: - containerPort: 5432 env: - name: POSTGRES_USER value: "n8n" - name: POSTGRES_DB value: "n8n" - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: n8n-secret key: POSTGRES_PASSWORD - name: PGDATA value: /var/lib/postgresql/data/pgdata volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "500m" livenessProbe: exec: command: - /bin/sh - -c - pg_isready -U n8n initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: exec: command: - /bin/sh - -c - pg_isready -U n8n initialDelaySeconds: 5 periodSeconds: 5 volumes: - name: postgres-data persistentVolumeClaim: claimName: postgres-data --- apiVersion: v1 kind: Service metadata: name: postgres namespace: n8n spec: selector: app: postgres ports: - port: 5432 targetPort: 5432