Storage and databases

Relational, object, shared-file, model, and backup storage for platform services.

Agentic Friendly

Foundation uses several persistence patterns because platform state, artifacts, model weights, and backups have different consistency and access requirements.

Relational state

CloudNativePG operates PostgreSQL clusters for transactional service state. PgAdmin gives authorized operators a management and inspection interface. PostgreSQL is used for metadata, configuration, workflow state, authorization state, and other structured records.

Object and shared-file storage

By default, Rook-Ceph provides S3-compatible object storage through RGW, block volumes through RBD, and shared filesystems through CephFS. Platform services such as MLflow, Milvus, Kubeflow Pipelines, Argo Workflows, Tempo, and the BSQAI API consume the appropriate storage interface.

Deployments can instead configure an external S3-compatible object store with [object_storage]. The configuration includes private and public endpoints, credentials, TLS CA material, and capability flags so components do not assume that every provider supports Rook-specific APIs. External buckets must allow portal-origin GET and HEAD requests for browser-facing presigned downloads. The storage owner can manage that CORS document directly or explicitly delegate it to the platform with manage_bucket_cors = true.

See External S3 object storage for the bucket inventory, credential variables, configuration example, validation, and migration procedure.

Model storage

Model Installer can load models from Hugging Face, PVCs, or S3-compatible storage. KServe runtime profiles can stream Safetensors from the platform object store. An optional [model_storage] section defines a separate shared S3 repository for model artifacts when models should not use the primary platform object store.

Database backups

CloudNativePG backups use the Barman Cloud plugin and an ObjectStore resource. The default object destination is the cnpg-backups bucket, with retention controlled through platform configuration.

Why the separation matters

  • PostgreSQL provides transactions and queries.
  • Object storage holds large artifacts, backups, and data products.
  • Block and shared-file storage support stateful Kubernetes workloads.
  • Dedicated model storage allows large weights to be shared without coupling them to application buckets.

On this page