apiVersion: apps/v1 kind: StatefulSet metadata: name: postgres labels: app: omnigent-postgres component: postgres spec: serviceName: postgres replicas: 1 selector: matchLabels: app: omnigent-postgres component: postgres template: metadata: labels: app: omnigent-postgres component: postgres spec: containers: - name: postgres image: postgres:16-alpine ports: - containerPort: 5432 name: postgres env: - name: POSTGRES_DB value: omnigent - name: POSTGRES_USER value: omnigent - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: omnigent-secrets key: POSTGRES_PASSWORD volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "500m" readinessProbe: exec: command: ["pg_isready", "-U", "omnigent"] periodSeconds: 10 timeoutSeconds: 5 livenessProbe: exec: command: ["pg_isready", "-U", "omnigent"] initialDelaySeconds: 15 periodSeconds: 30 timeoutSeconds: 5 volumeClaimTemplates: - metadata: name: postgres-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi