Skip to main content

okustera_database_qdrant (Resource)

The okustera_database_qdrant resource provisions and manages a managed Qdrant vector search engine cluster. Qdrant is optimized for neural search, LLM semantic caching, and vector embedding similarity search at scale, backed by distributed Ceph NVMe block storage.

Example Usage​

Single-Node Development Qdrant Cluster​

resource "okustera_database_qdrant" "dev_vectors" {
name = "dev-qdrant"
namespace = "default"
replicas = 1
storage_size = "20Gi"
}

High-Availability Production Cluster with Custom StorageClass​

resource "okustera_database_qdrant" "prod_vectors" {
name = "prod-knowledge-vectors"
namespace = "ai-production"
replicas = 3
storage_size = "100Gi"
storage_class = "ceph-rbd"
}

output "qdrant_rest_endpoint" {
value = okustera_database_qdrant.prod_vectors.http_endpoint
}

output "qdrant_grpc_endpoint" {
value = okustera_database_qdrant.prod_vectors.grpc_endpoint
}

Schema​

Required​

  • name (String) Unique name of the Qdrant cluster.

Optional​

  • namespace (String) Kubernetes namespace for the database pods. Defaults to default.
  • replicas (Number) Number of cluster nodes. Defaults to 1.
  • storage_size (String) Persistent volume claim size per replica (e.g. "20Gi", "100Gi"). Defaults to "20Gi".
  • storage_class (String) Kubernetes StorageClass name. Defaults to ceph-rbd.

Read-Only Attributes​

  • id (String) Unique cluster identifier.
  • http_endpoint (String) HTTP REST API endpoint (port 6333) for vector upsert, search, and collection management.
  • grpc_endpoint (String) High-performance gRPC endpoint (port 6334) for streaming vector search.
  • api_key (String, Sensitive) Generated API key for cluster authentication.
  • status (String) Operational health status (Running, Creating, Failed).

Import​

Existing Qdrant clusters can be imported using their cluster name:

terraform import okustera_database_qdrant.prod_vectors prod-knowledge-vectors