apiVersion: apps/v1 kind: StatefulSet metadata: name: mirccloud-postgres namespace: mirccloud labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: postgres app.kubernetes.io/part-of: mirccloud spec: serviceName: mirccloud-postgres replicas: 1 selector: matchLabels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: postgres template: metadata: labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: postgres app.kubernetes.io/part-of: mirccloud spec: securityContext: runAsNonRoot: true runAsUser: 1001 runAsGroup: 1001 fsGroup: 1001 containers: - name: postgres image: bitnami/postgresql:16 ports: - name: tcp-postgres containerPort: 5432 protocol: TCP env: - name: POSTGRESQL_USERNAME value: mirccloud - name: POSTGRESQL_DATABASE value: mirccloud - name: POSTGRESQL_PASSWORD valueFrom: secretKeyRef: name: mirccloud-secrets key: POSTGRES_PASSWORD resources: requests: cpu: 250m memory: 256Mi limits: cpu: 1000m memory: 1Gi volumeMounts: - name: postgres-data mountPath: /bitnami/postgresql livenessProbe: exec: command: - /bin/sh - -c - pg_isready -U mirccloud -d mirccloud initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 6 readinessProbe: exec: command: - /bin/sh - -c - pg_isready -U mirccloud -d mirccloud initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 6 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL volumeClaimTemplates: - metadata: name: postgres-data labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: postgres spec: accessModes: - ReadWriteOnce storageClassName: nfs-synology resources: requests: storage: 20Gi --- apiVersion: v1 kind: Service metadata: name: mirccloud-postgres namespace: mirccloud labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: postgres app.kubernetes.io/part-of: mirccloud spec: type: ClusterIP selector: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: postgres ports: - name: tcp-postgres port: 5432 targetPort: 5432 protocol: TCP