Arquitectura

La visión a la vista: cómo encajan las piezas, qué corre dónde, cómo pasan los flujos. Fuente única: magnetia-gestion/infraestructura/.

Servicios críticos

  • Bender Panel (Next.js) - usa /etc/bender/.env.runtime (post doom-loop 2026-05-21)
    bender-panel.service
    running
  • Caddy
    caddy.service
    running
  • Bender — timer del sync de métricas a clientes.magnetia.io
    bender-sync-clientes-panel.timer
    waiting
  • Workers Mailnetia (procesan agent_tasks)
    magnetia-runner@* (4 totales)
    0 activos

Previews activos(*.benderdev.magnetia.io)

Cómo crear/parar previews: runbook previews-benderdev.md

Arquitectura · Alto nivel

Las piezas de Magnetia y quién habla con quién. El "30 segundos".

Renderizando diagrama…

Arquitectura · Despliegues

Qué corre dónde, en qué proceso, con qué credenciales.

Renderizando diagrama…

Arquitectura · Flujos clave

Cómo pasa una cosa concreta de principio a fin. Tres ejemplos del día a día. ## Flujo 1 · Marcos abre una sesión de chat en Bender y trabaja un cliente

Renderizando diagrama…

Renderizando diagrama…

Renderizando diagrama…

Inventarios

Lo que tenemos hoy: repos, apps, BDs, cuentas, crons, integraciones.

  • Inventario · Apps en producción
    Entorno de **previews wildcard** en el VPS para que clientes y equipo vean cambios antes de producción.
    apps.md
  • Inventario · Bases de datos
    bds.md
  • Inventario · Tareas programadas
    `sysstat-collect.timer`, `apt-daily.timer`, `dpkg-db-backup.timer`, `logrotate.timer`, `fstrim.timer` — gestión del SO, ignorar.
    crons.md
  • Inventario · Cuentas externas
    op://Bender/<NombreItem>/<campo>
    cuentas.md
  • Inventario · Integraciones
    Config: `/root/.claude.json` del VPS (scope user). Los workers (claude -p) NO usan estos — usan `/etc/bender/empty-mcp.json` a propósito.
    integraciones.md
  • Inventario · Repos
    Gestionadas en Webempresa. Código en el hosting, copias en `magnetia-gestion/clientes/<slug>/` cuando hay personalización:
    repos.md

Runbooks

Qué hacer si X se cae. Escrito antes del incendio.

  • Runbook · Credenciales y secretos
    **Síntoma:** `op run ... [ERROR] Too many requests. Your client has been rate-limited`.
    credenciales.md
  • Runbook · Panel Bender caído (bender.magnetia.io)
    ssh bender "systemctl status bender-panel"
    panel-bender.md
  • Runbook · Previews en `*.benderdev.magnetia.io`
    *.benderdev.magnetia.io (DNS wildcard)
    previews-benderdev.md
  • Runbook · Setup local de desarrollo
    **El problema típico:** los `.env` de los repos tienen referencias `op://Bender/...` en vez del valor real. Sin tu CLI bien configurada, esas referencias no se
    setup-local-dev.md
  • Runbook · Supabase
    ssh bender "cd /opt/magnetia/bender-panel && op run --env-file=.env -- bash -c \
    supabase.md
  • Runbook · Deploys de Vercel
    **Síntoma:** push a `main`, esperas y no aparece deploy nuevo en Vercel.
    vercel-deploys.md
  • Runbook · VPS Bender no responde
    ssh -o ConnectTimeout=5 bender "echo ok"
    vps-bender.md

Si añades una pieza nueva a la arquitectura, actualiza el diagrama en infraestructura/arquitectura/ en el mismo commit. Bender lo recuerda. Skill: mantener-arquitectura.