feat: Memory Phase 3 — LLM ingest, observability, migrations #49

Open
rock wants to merge 18 commits from feat/memory-ingest-retrieval into main
Showing only changes of commit 8290e9de37 - Show all commits
+19 -41
View File
@@ -1,8 +1,6 @@
--- # Dedicated CNPG Postgres for Poimen Memory (GitOps, wave 2).
# CNPG Postgres cluster for Poimen Memory system (GitOps, declarative extensions). # Matches homelab/k8s/infra/databases/memory-db.yaml — single source of truth.
# 2 instances, pgvector 0.7.0 via spec.extensions (not manual CREATE EXTENSION). # CNPG generates secret `memory-db-app` + service `memory-db-rw` in ns poimen.
# Storage: 10Gi longhorn, consistent with temporal-db.yaml.
# No manual psql needed — all via git/ArgoCD.
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: Cluster kind: Cluster
metadata: metadata:
@@ -13,20 +11,6 @@ metadata:
spec: spec:
instances: 2 instances: 2
imageName: ghcr.io/cloudnative-pg/postgresql:16.2 imageName: ghcr.io/cloudnative-pg/postgresql:16.2
enableSuperuserAccess: false
storage:
size: 10Gi
storageClass: longhorn
resources:
requests: { memory: "512Mi", cpu: "250m" }
limits: { memory: "2Gi", cpu: "1" }
affinity:
podAntiAffinityType: preferred
topologyKey: kubernetes.io/hostname
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
bootstrap: bootstrap:
initdb: initdb:
database: memory database: memory
@@ -34,25 +18,19 @@ spec:
encoding: UTF8 encoding: UTF8
localeCollate: C localeCollate: C
localeCType: C localeCType: C
monitoring: postInitApplicationSQL:
enabled: true - "CREATE EXTENSION vector;"
podMonitorTemplate: enableSuperuserAccess: false
spec: resources:
interval: 30s requests: { memory: "512Mi", cpu: "250m" }
scrapeTimeout: 10s limits: { memory: "2Gi", cpu: "1" }
--- storage:
# Database resource with pgvector extension (declarative, git-managed). size: 20Gi
# CNPG 1.30.0+ supports this via spec.extensions on the Database CRD. storageClass: longhorn
# Ensures pgvector is installed and available for HNSW indexing. affinity:
apiVersion: postgresql.cnpg.io/v1 podAntiAffinityType: preferred
kind: Database topologyKey: kubernetes.io/hostname
metadata: tolerations:
name: memory - key: node-role.kubernetes.io/control-plane
namespace: poimen operator: Exists
spec: effect: NoSchedule
cluster:
name: memory-db
owner: app
extensions:
- name: vector
ensure: present