AI & Embeddings

chromadb

ChromaDB vector database — persistent storage, optional Postgres metadata backend, token auth, CPU autoscaling

@r8s/chromadb

chromadbvector-databaseembeddingsrag

Components (1)

01

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)