Skip to main content
On Hybrid and Air-Gapped installs the data tier runs in your cluster. PostgreSQL and Redis can be replaced by managed services you already run. On xpander cloud, xpander operates it.

What each store holds

By default, all stores are chart-managed StatefulSets on your SSD StorageClass (--storage-class <name> to pick one). Production volumes on Air-Gapped: xpander’s PostgreSQL 50 GiB, Supabase PostgreSQL 50 GiB, Supabase Storage 50 GiB and up, MongoDB 20 GiB, Redis 8 GiB, registry mirror about 50 GiB.

Tables and collections

Reference for platform teams who need to look inside.

Supabase’s PostgreSQL (database postgres)

xpander’s PostgreSQL 16 (database xpander)

MongoDB

Looking inside from the cluster

Passwords come from the xpander-generated-keys secret, and nothing below prints one.
At the mongosh prompt:

Bringing your own PostgreSQL and Redis

Use installer flags or values, and pass passwords with --set so they never land in Git:
  • PostgreSQL: create the role and database before the install. Keep CREATEDB on the role. Agent data lands as one schema per agent (ag_<agent id>) inside the xpander database. keygen.overrides.POSTGRES_PASSWORD is how xpander learns the password you set.
  • Valkey or MemoryDB: the endpoint must ship the RediSearch commands, or knowledge bases accept writes and return nothing. On MemoryDB that is Valkey 7.3 on the parameter group with the search module.
  • Probes: the installer runs pg_isready and redis-cli ping from a pod in your namespace before installing. A failed probe asks you what to do instead of aborting.
RDS and MemoryDB sizes from a reference install are on Air-gapped: data tier. MongoDB and Supabase’s PostgreSQL always run in-cluster. Back them up with your cluster’s volume snapshots.

Next steps

Plan the data tier for Air-Gapped

RDS and MemoryDB sizing

Plan file storage

Workspaces, uploads, files