apiVersion: kubegres.reactive-tech.io/v1 kind: Kubegres metadata: name: superset-db spec: replicas: 2 image: postgres:18.0 database: size: "40Gi" storageClassName: "standard" backup: schedule: "0 */1 * * *" pvcName: superset-db-backup volumeMount: /var/lib/backup env: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: superset-db-credentials key: superUserPassword - name: POSTGRES_REPLICATION_PASSWORD valueFrom: secretKeyRef: name: superset-db-credentials key: replicationUserPassword scheduler: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - superset-db topologyKey: kubernetes.io/hostname weight: 100 --- apiVersion: v1 kind: Secret metadata: name: superset-db-credentials type: Opaque stringData: superUserPassword: superset-admin replicationUserPassword: superset-replication --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: superset-db-backup spec: storageClassName: "critical" accessModes: - ReadWriteOnce resources: requests: storage: "200Mi" --- apiVersion: db-caretaker.dev/v1alpha1 kind: DatabaseServer metadata: name: superset-db spec: connection: driver: postgres host: superset-db.reports-superset user: value: postgres password: secretKeyRef: name: superset-db-credentials key: superUserPassword --- apiVersion: db-caretaker.dev/v1alpha1 kind: Database metadata: name: superset spec: serverRef: name: superset-db name: superset dropOnDelete: true --- apiVersion: db-caretaker.dev/v1alpha1 kind: DatabaseUser metadata: name: superset spec: databaseRef: name: superset login: superset role: dbowner secretHostKey: DB_HOST secretDatabaseKey: DB_NAME secretPortKey: DB_PORT secretUserKey: DB_USER secretPasswordKey: DB_PASS