This guide covers production deployment of VectorSmuggle using Docker and Kubernetes.
docker build -t vectorsmuggle:latest .# Create production environment file
cp .env.example .env.production
# Configure for production
export OPENAI_API_KEY=sk-...
export VECTOR_DB=qdrant
export QDRANT_URL=https://your-qdrant-instance.comdocker run -d \
--name vectorsmuggle \
--env-file .env.production \
-p 8080:8080 \
vectorsmuggle:latestdocker-compose -f docker-compose.yml -f docker-compose.dev.yml up -ddocker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d- Kubernetes cluster (1.20+)
- kubectl configured
- Persistent storage available
# Create namespace
kubectl create namespace vectorsmuggle
# Apply all manifests
kubectl apply -f k8s/ -n vectorsmuggle
# Check deployment status
kubectl get pods -n vectorsmuggle
kubectl rollout status deployment/vectorsmuggle -n vectorsmuggle# Create secrets
kubectl create secret generic vectorsmuggle-secrets \
--from-literal=openai-api-key=sk-... \
-n vectorsmuggle
# Apply configuration
kubectl apply -f k8s/configmap.yaml -n vectorsmuggle# Full automated deployment
./scripts/deploy/deploy.sh --environment production --platform kubernetes --build
# Health check and validation
./scripts/deploy/health-check.sh --detailed --export health-report.json- Non-root user execution
- Read-only filesystem
- Minimal base image
- Security scanning
- TLS encryption
- Network policies
- Rate limiting
- Ingress security headers
- Kubernetes secrets
- External secret management
- Rotation policies
- Access controls
# Application health
curl http://localhost:8080/health
# Detailed status
./scripts/deploy/health-check.sh --detailed- Structured JSON logging
- Centralized log aggregation
- Log retention policies
- Security event monitoring
- Prometheus integration
- Grafana dashboards
- Resource monitoring
- Performance tracking
kubectl scale deployment vectorsmuggle --replicas=3 -n vectorsmuggleresources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"# Backup vector store data
kubectl exec -it vectorsmuggle-pod -- /backup-script.sh
# Backup configuration
kubectl get configmap vectorsmuggle-config -o yaml > config-backup.yaml- Multi-region deployment
- Data replication
- Automated failover
- Recovery procedures
- Pod startup failures
- Service connectivity
- Resource constraints
- Configuration errors
# Check pod logs
kubectl logs -f deployment/vectorsmuggle -n vectorsmuggle
# Describe resources
kubectl describe pod vectorsmuggle-xxx -n vectorsmuggle
# Execute into container
kubectl exec -it vectorsmuggle-pod -- /bin/bashSee troubleshooting guide for detailed debugging procedures.