chromadb
ChromaDB vector database — persistent storage, optional Postgres metadata backend, token auth, CPU autoscaling
@r8s/chromadb
Components (1)
ChromaDb
ChromaDB — open-source vector database for AI embeddings.
import { ChromaDb } from '@r8s/chromadb'
export default <ChromaDb name="vectors" host="vectors.example.com" />
namestringOptional—Resource name (defaults to 'chromadb')
namespacestringOptional—Kubernetes namespace (defaults to 'default')
versionstringOptional—Container image tag (defaults to 'latest' — pin a version in production)
hoststringRequired—Public hostname for the vector API (required)
portnumberOptional—Port Chroma listens on (defaults to 8000)
replicasnumberOptional—Number of replicas (defaults to 1). The embedded data PVC is ReadWriteOnce — extra replicas on other nodes cause Multi-Attach errors; scale out only with a ReadWriteMany StorageClass via storageClassName (required for autoscaling).
storagestringOptional—Persistent storage size for the embedded data volume (defaults to '50Gi')
storageClassNamestringOptional—StorageClass for the data PersistentVolumeClaim (optional — cluster default)
probePathstringOptional—HTTP path for liveness/readiness probes (defaults to '/api/v2/heartbeat' — the current image API). Set '/api/v1/heartbeat' for older images still serving the v1 API.
authbooleanOptional—Require token authentication for the server (defaults to false)
authTokenSecretNamestringOptional—Name of an existing Secret holding key token — the Chroma server auth credential. Required when auth is true, unless a secrets backend (openbao/vault) is configured on the surrounding Platform — the backend then provisions the token at path <path>/<name>/auth-token (key: token). Plaintext credentials are not supported.
autoscalingbooleanOptional—Autoscale the Deployment via a CPU-based HorizontalPodAutoscaler (defaults to false)
pgbooleanOptional—Provision a CNPG Postgres cluster as the metadata store (defaults to false)
resources{ requests?: { cpu?: string, memory?: string }, limits?: { cpu?: string, memory?: string } }Optional—Requested resources
tls{ secretName: string, clusterIssuer: string }Optional—TLS configuration (defaults to letsencrypt-prod cluster issuer)