Skip to content
Djalma Jr.
Portfolio

AI Memory Ops

Production self-hosting for ai-memory on Kubernetes — a Helm chart and container images that run the engine behind OIDC, with a git→wiki ETL and a bundled web UI.

View project →

ai-memory is brilliant on a laptop and awkward on a cluster. AI Memory Ops closes that gap: it packages the engine to run on Kubernetes the way you would actually ship it — behind OIDC, with machine and human traffic split cleanly, a scheduled git→wiki ETL feeding it, and a custom web UI baked in. One helm upgrade and you have a shared, authenticated memory for your whole team.

The problem it solves

Out of the box, ai-memory has no opinion about who can reach it, how secrets are handled, or how knowledge gets in. Run it as-is on a cluster and you are improvising ingress, auth, and credential hygiene by hand. AI Memory Ops makes those decisions for you and encodes them as a chart: agents authenticate with OIDC JWTs, browsers get an interactive login, the engine’s real token never leaves the cluster, and real secrets never touch the repo.

Architecture

flowchart LR
  client([Client]) --> ingress[Traefik ingress]
  ingress -->|/web| oauth[oauth2-proxy]
  ingress -->|/mcp| auth["mcp-auth · JWT validate, inject bearer"]
  oauth --> engine["ai-memory · engine + SPA"]
  auth --> engine
  repos[(Source repos)] -->|git ETL · CronJob| engine

Two doors into one engine. /mcp is for machines: the mcp-auth sidecar validates the caller’s OIDC JWT at the edge and swaps it for the engine’s static AI_MEMORY_AUTH_TOKEN, which never leaves the pod. /web is for humans: oauth2-proxy handles the interactive OIDC login. Both land on the same ai-memory engine, which also serves the bundled SPA.

What’s in it

Secrets stay out of git

The chart never templates real secrets: secrets.create: false is the default, so you create them out-of-band. Environment overrides (values-*.yaml) are gitignored, and a .gitleaks.toml config plus a pre-commit hook keep credentials from ever landing in the repo. Least privilege carries through to CI, which deploys with a scoped role instead of cluster-admin.

Stack

Go, Helm, Docker, Shell and Python. The reference frontend it can bundle is AI Memory UI.

Availability

Source-available; the ai-memory engine is licensed upstream.