poc-reports/superset/app/database.yaml
2026-01-27 14:48:39 +01:00

106 lines
2.2 KiB
YAML

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