Files
poimen-memory/ARGOCD-TRACKING.md

2.8 KiB

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

# 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

  • Memory-db manifest in homelab k8s/infra/databases/
  • Namespace set to: poimen
  • Bundled into wave 2 (no separate app)
  • Homelab changes committed and pushed
  • 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)