Files
poimen-memory/ARGOCD-TRACKING.md

101 lines
2.8 KiB
Markdown

# Poimen Memory — ArgoCD Deployment (Bundled into Homelab)
## Status
**Memory database bundled into homelab wave 2 (databases)**
**No separate app needed**
**Deployed as part of existing homelab orchestration**
---
## Architecture
```
Homelab ArgoCD Root (wave 0)
Wave 2: Databases App (syncs k8s/infra/databases)
├── authentik-db (ns: iam)
├── temporal-db (ns: temporal)
└── memory-db (ns: poimen) ← NEW
├── Cluster: memory-db (3 instances)
├── Extension: pgvector (768-dim embeddings)
├── Secret: memory-db-app (auto-generated in poimen)
└── Service: memory-db-rw (auto-generated in poimen)
```
## Deployment
### How It Works
Memory database is deployed **as part of homelab wave 2** (same wave as authentik-db and temporal-db):
1. **Homelab repository** contains the cluster definition
- `k8s/infra/databases/memory-db.yaml` (deployed to: poimen namespace)
- `k8s/infra/databases/kustomization.yaml` (includes memory-db.yaml)
2. **Homelab "databases" app** (wave 2) syncs these manifests
- No separate poimen-memory app needed
- Bundles all DB clusters in one wave
- Simple and consistent
3. **Poimen Memory repo** contains reference copies
- `k8s/infra/databases/memory-db.yaml` (for CI/documentation)
- Deployed via homelab, not its own app
### Verification
```bash
# After homelab syncs wave 2:
kubectl get clusters -n poimen
# NAME PHASE INSTANCES
# memory-db Healthy 3/3
kubectl get secret -n poimen memory-db-app
# memory-db-app kubernetes.io/basic-auth 2
kubectl get svc -n poimen memory-db-rw
# memory-db-rw ClusterIP 10.x.x.x 5432/TCP
```
---
## Connection String
```
postgresql://app:<password>@memory-db-rw.poimen.svc.cluster.local:5432/memory?sslmode=disable
```
**Credentials:** `kubectl get secret -n poimen memory-db-app`
---
## Deployment Checklist
- [x] Memory-db manifest in homelab k8s/infra/databases/
- [x] Namespace set to: poimen
- [x] Bundled into wave 2 (no separate app)
- [x] Homelab changes committed and pushed
- [x] Poimen Memory repo has reference copy
## What Changed
**Old approach (NOT USED):**
- ❌ Separate `poimen-memory-root` app in homelab
- ❌ Separate `memory-database-app.yaml`
- ❌ Separate k8s/argocd/ in Poimen Memory
**New approach (CURRENT):**
- ✅ Memory-db bundled into homelab wave 2 "databases" app
- ✅ Same pattern as authentik-db, temporal-db
- ✅ Poimen Memory repo has manifests (not ArgoCD apps)
- ✅ Simple, consistent, one deployment source
---
## Status
**M2.2 CNPG Postgres** — Complete (bundled into homelab)
**Deployed by homelab wave 2** — No separate orchestration
**Ready for next phase** — Poimen app deployment (M3)