Skip to main content

Overview

Qdrant is the vector database used by Cobi to store and search document embeddings. The qdrant dependency chart deploys it as a StatefulSet with persistent storage. Default ports:
  • 6333 — HTTP REST API (used by the backend)
  • 6334 — gRPC API
The backend connects to Qdrant at http://<release-name>-qdrant:6333 via the QDRANT_URL environment variable.

Configuration in values.yaml

Sizing the PVC

Qdrant stores vectors on disk. The required space depends on: A rough estimate: ~1 Gi per 500 000 vectors at 768 dimensions with HNSW indexing. Start with 10Gi and expand the PVC when utilization reaches 70%.

On-Premises StorageClass

For clusters without a cloud storage provisioner, set a local or NFS-backed StorageClass:

Exposing Qdrant (optional)

Qdrant is a ClusterIP service by default (internal only). To expose it for external tooling (e.g., Qdrant Web UI or admin scripts), add an Ingress:
Do not expose Qdrant publicly without authentication. The Qdrant HTTP API has no built-in auth by default — restrict access to internal networks or use an ingress that enforces authentication.

Verify Qdrant

A healthy response from /healthz returns {"title":"qdrant - vector search engine","version":"..."}.

Connecting the Backend

Set the following variables in the backend Secret. The service name follows the pattern <release-name>-qdrant — if your release is named cobi-dashboard, the service is cobi-dashboard-qdrant.

In-cluster Qdrant (deployed via this chart)

External / standalone on-prem Qdrant

If Qdrant is running on a separate server or another cluster:
Keep QDRANT_LOCAL_ONLY="true" for any self-hosted Qdrant regardless of where it runs. Set it to "false" only when using Qdrant Cloud.

Qdrant Cloud

Backend environment variable reference

Backup

Qdrant supports snapshot-based backups via its REST API:
Snapshots are written to the Qdrant PVC. Copy them to external storage using a CronJob or kubectl cp.