Skip to content

PostgreSQL Storage

FractalOps PostgreSQL desired storage is Longhorn:

  • Operator: CloudNativePG
  • Cluster: fractalops/fractalops-postgresql
  • Write service: fractalops/fractalops-postgresql-rw
  • StorageClass: fractalops-longhorn-durable-rwo
  • VolumeSnapshotClass: fractalops-longhorn-snapshot
  • Driver: driver.longhorn.io

Bootstrap the operator and cluster:

Terminal window
make bootstrap-fractalops-postgresql

Inspect cluster health:

Terminal window
kubectl -n fractalops get cluster.postgresql.cnpg.io fractalops-postgresql
kubectl -n fractalops get pooler.postgresql.cnpg.io fractalops-postgresql-pooler-rw

Runtime credentials are sourced from OpenBao through External Secrets:

  • Scope: runtime/postgres
  • App secret: fractalops-postgresql-app
  • Superuser secret: fractalops-postgresql-superuser

Do not create stable PVCs or hostPath PVs manually. CloudNativePG owns the database pods and PVCs; Longhorn owns the volume lifecycle.