Skip to content

Phase 14: Kubernetes deployment with minikube#10

Merged
DevDoshi19 merged 1 commit into
mainfrom
phase-14/k8s
Jun 27, 2026
Merged

Phase 14: Kubernetes deployment with minikube#10
DevDoshi19 merged 1 commit into
mainfrom
phase-14/k8s

Conversation

@DevDoshi19

Copy link
Copy Markdown
Owner

What this PR does

Migrates VaultMind from Docker Compose to Kubernetes using minikube.

Resources added

  • k8s/namespace.yaml — isolated vaultmind namespace
  • k8s/secret.yaml — API keys (gitignored, applied locally)
  • k8s/configmap.yaml — non-sensitive env vars + BACKEND_URL
  • k8s/backend-pvc.yaml — persistent storage for ChromaDB + chunks.json
  • k8s/backend-deployment.yaml — backend pod with probes + PVC mount
  • k8s/backend-service.yaml — ClusterIP internal service
  • k8s/frontend-deployment.yaml — Streamlit pod
  • k8s/frontend-service.yaml — NodePort browser access

Key decisions

  • replicas=1 for backend (ChromaDB is disk-bound, Phase 15 Pinecone removes this)
  • ClusterIP for backend (internal only), NodePort for frontend (browser access)
  • PVC survives pod restarts, same role as Docker Compose volumes

Tested

  • Both pods 1/1 Running
  • Query "what are Dev Doshi's skills?" returns correct answer
  • Rolling update observed when PVC mount was added

- namespace, secret, configmap for cluster config
- backend deployment with PVC for ChromaDB persistence
- frontend deployment with BACKEND_URL from configmap
- ClusterIP service for backend (internal only)
- NodePort service for frontend (browser access)
- backend-pvc for persistent chroma_db and data storage
- replicas=1 constraint documented (Phase 15 Pinecone removes it)
@DevDoshi19 DevDoshi19 merged commit d8d3522 into main Jun 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant