apiVersion: apps/v1 kind: StatefulSet metadata: name: postgres namespace: container-mom spec: serviceName: postgres replicas: 1 selector: matchLabels: app: postgres template: metadata: labels: app: postgres spec: containers: - name: postgres image: registry.access.redhat.com/rhel9/postgresql-16:1-25 securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] runAsNonRoot: true seccompProfile: type: RuntimeDefault ports: - containerPort: 5432 name: postgres env: - name: POSTGRESQL_DB value: container_mom_development - name: POSTGRESQL_USER valueFrom: secretKeyRef: name: db-credentials key: username - name: POSTGRESQL_PASSWORD valueFrom: secretKeyRef: name: db-credentials key: password volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data subPath: postgres-data volumes: - name: postgres-data emptyDir: {} # Ephemeral storage for development --- apiVersion: v1 kind: Service metadata: name: postgres namespace: container-mom spec: ports: - port: 5432 targetPort: postgres name: postgres selector: app: postgres clusterIP: None # Headless service for StatefulSet