Deploy Poimen Memory K8s cluster with ArgoCD tracking (M2.2, M3.5-M3.7)
ci / markdown (push) Waiting to run

This commit is contained in:
Story Crater Bot
2026-08-22 23:13:42 -07:00
parent 9c723fe66f
commit d3be7f6fd4
105 changed files with 10973 additions and 113 deletions
+6
View File
@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Poimen Memory ArgoCD applications (tracked by poimen-orchestrator)
# Each app syncs from this repo's main branch
resources:
- memory-database-app.yaml
+34
View File
@@ -0,0 +1,34 @@
# Poimen Memory Database — CNPG Postgres cluster with pgvector
# Synced by poimen-orchestrator (or standalone if deployed directly)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: poimen-memory-database
namespace: argocd
labels:
app.kubernetes.io/name: poimen-memory
app.kubernetes.io/component: database
annotations:
argocd.argoproj.io/sync-wave: "2" # Wave 2: databases (after bootstrap, before apps)
spec:
project: homelab
source:
repoURL: https://github.com/Riotpiaole/Poimen-memory.git
targetRevision: main
path: k8s/infra/databases
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
+6
View File
@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Poimen Memory CNPG Postgres cluster with pgvector extension.
# Namespace declared inline in memory-db.yaml (no top-level namespace:).
resources:
- memory-db.yaml
+41
View File
@@ -0,0 +1,41 @@
# Dedicated CNPG Postgres for Poimen Memory (GitOps, wave 2 — before poimen w3).
# Includes pgvector extension for semantic search (768-dim embeddings).
# CNPG generates secret `memory-db-app` + service `memory-db-rw` in ns poimen;
# poimen reads them locally (no cross-ns secret copy).
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: memory-db
namespace: poimen
annotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
spec:
instances: 3
imageName: ghcr.io/cloudnative-pg/postgresql:16.2
bootstrap:
initdb:
database: memory
owner: app
encoding: UTF8
localeCollate: C
localeCType: C
postInitApplicationSQL:
- "CREATE EXTENSION vector;"
enableSuperuserAccess: false
resources:
requests: { memory: "512Mi", cpu: "250m" }
limits: { memory: "2Gi", cpu: "1" }
storage:
size: 10Gi
storageClass: longhorn-cnpg
monitoring:
enablePodMonitor: true
affinity:
# preferred + tolerations: HA across nodes without deadlocking a partly-
# schedulable 3-CP (same as temporal/authentik-db).
podAntiAffinityType: preferred
topologyKey: kubernetes.io/hostname
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule