Qdrant - Vector Database for AI/ML Applications
Key Features: Vector Search • Semantic Similarity • Embeddings Storage • API Authentication • Persistent Storage • High Performance • Python SDK
File: docs/package-databases-qdrant.md
Purpose: Complete guide to Qdrant vector database deployment and configuration in Urbalurba infrastructure
Target Audience: AI/ML engineers, developers working with embeddings, data scientists building vector search applications
Last Updated: September 24, 2025
📋 Overview
Qdrant serves as a high-performance vector database in the Urbalurba infrastructure, designed for AI/ML applications that require fast similarity search over high-dimensional vectors. It provides advanced vector search capabilities with semantic similarity matching for embeddings and machine learning workloads.
Key Features:
- Vector Search Engine: Optimized for high-dimensional vector similarity search
- Embeddings Storage: Store and retrieve text, image, and other embeddings efficiently
- API Authentication: Secure access with API key-based authentication
- Helm-Based Deployment: Uses official Qdrant chart with production-ready configuration
- Persistent Storage: Data and snapshots preserved across pod restarts
- Secret Management: Integrates with urbalurba-secrets for secure API key management
- Comprehensive Testing: Includes connectivity verification and API validation
🏗️ Architecture
Deployment Components
Qdrant Vector Database Stack:
├── Helm Release (qdrant/qdrant)
├── Deployment (qdrant:latest container)
├── ConfigMap (Qdrant configuration)
├── Service (ClusterIP on port 6333 HTTP, 6334 gRPC)
├── PersistentVolumeClaims (12GB data + 5GB snapshots)
├── urbalurba-secrets (API key authentication)
└── Pod (qdrant container with vector search engine)
File Structure
02-databases/
├ ── not-in-use/
├── 07-setup-qdrant.sh # Main deployment script
└── 07-remove-qdrant.sh # Removal script
manifests/
└── 044-qdrant-config.yaml # Qdrant Helm configuration
ansible/playbooks/
├── 044-setup-qdrant.yml # Main deployment logic
└── 044-remove-qdrant.yml # Removal logic
🚀 Deployment
Manual Deployment
Qdrant is available in the 02-databases/not-in-use category and can be deployed manually:
# Deploy Qdrant with default settings
cd provision-host/kubernetes/02-databases/not-in-use/
./07-setup-qdrant.sh rancher-desktop
# Deploy to specific Kubernetes context
./07-setup-qdrant.sh multipass-microk8s
./07-setup-qdrant.sh azure-aks
Prerequisites
Before deploying Qdrant, ensure the required secrets are configured in urbalurba-secrets:
QDRANT_API_KEY: API key for secure access to Qdrant endpoints
The API key should be a strong random string that will be used to authenticate all requests to the Qdrant API.