Saltar al contenido
Djalma Jr.
Portafolio

AI Memory Ops

Self-hosting de producción de ai-memory en Kubernetes — un Helm chart e imágenes de contenedor que ejecutan el engine detrás de OIDC, con ETL git→wiki y una web UI integrada.

Ver proyecto →

ai-memory es brillante en un laptop y torpe en un clúster. AI Memory Ops cierra esa brecha: empaqueta el engine para ejecutarse en Kubernetes tal como lo pondrías de verdad en producción — detrás de OIDC, con el tráfico de máquinas y de personas separado con claridad, un ETL git→wiki programado alimentándolo y una web UI personalizada ya integrada. Un helm upgrade y tienes una memoria compartida y autenticada para todo el equipo.

El problema que resuelve

De fábrica, ai-memory no tiene opinión sobre quién puede alcanzarlo, cómo se manejan los secretos o cómo entra el conocimiento. Ejecútalo tal cual en un clúster y acabarás improvisando ingress, auth e higiene de credenciales a mano. AI Memory Ops toma esas decisiones por ti y las codifica como un chart: los agentes se autentican con JWTs OIDC, los navegadores reciben un login interactivo, el token real del engine nunca sale del clúster y los secretos reales nunca tocan el repositorio.

Arquitectura

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

Dos puertas hacia un único engine. /mcp es para máquinas: el sidecar mcp-auth valida el JWT OIDC de quien llama en el borde y lo cambia por el AI_MEMORY_AUTH_TOKEN estático del engine, que nunca sale del pod. /web es para personas: oauth2-proxy se encarga del login OIDC interactivo. Ambos llegan al mismo engine de ai-memory, que además sirve la SPA integrada.

Qué incluye

Los secretos quedan fuera de git

El chart nunca plantilla secretos reales: secrets.create: false es el valor por defecto, así que los creas fuera del repositorio. Los overrides de entorno (values-*.yaml) están en gitignore, y una configuración .gitleaks.toml más un hook de pre-commit evitan que las credenciales lleguen al repositorio. El mínimo privilegio llega hasta el CI, que despliega con un role acotado en vez de cluster-admin.

Stack

Go, Helm, Docker, Shell y Python. El frontend de referencia que puede integrar es AI Memory UI.

Disponibilidad

Source-available; el engine de ai-memory está licenciado por el proyecto original.