# 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:@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)