--- # Source: postgres/templates/secret.yaml apiVersion: v1 kind: Secret metadata: name: postgres-secret namespace: database type: Opaque stringData: POSTGRES_DB: "symcrest" POSTGRES_USER: "admin" POSTGRES_PASSWORD: "TempPass123" --- # Source: postgres/templates/service.yaml apiVersion: v1 kind: Service metadata: name: postgres namespace: database spec: type: ClusterIP selector: app: postgres ports: - name: postgres port: 5432 targetPort: 5432 --- # Source: postgres/templates/statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: postgres namespace: database spec: serviceName: postgres replicas: 1 selector: matchLabels: app: postgres template: metadata: labels: app: postgres spec: nodeSelector: workload: app containers: - name: postgres image: "postgres:18.4" ports: - containerPort: 5432 name: postgres envFrom: - secretRef: name: postgres-secret volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data env: - name: PGDATA value: /var/lib/postgresql/data/pgdata volumeClaimTemplates: - metadata: name: postgres-data spec: accessModes: - ReadWriteOnce storageClassName: "longhorn" resources: requests: storage: "20Gi"