Checklist de producción

Antes del lanzamiento

  • [ ] HTTPS en el origin del cabinet (terminar en nginx/caddy/cloud LB)
  • [ ] COOKIE_SECURE=true — cookies solo por HTTPS
  • [ ] SESSION_KEY — 32+ bytes, pinned en el env (cambiarlo invalida todas las sesiones)
  • [ ] CA_DIR — en un volumen persistente; secrets.key de ahí no se puede perder
  • [ ] Postgres — managed (RDS / Cloud SQL) o tu propio HA
  • [ ] TSDB — un disco aparte para storageDataPath (la retención influye en el tamaño)
  • [ ] SMTP — configurado (sin él el console-mailer imprime en stdout, solo apto para dev)
  • [ ] Una estrategia de backup para Postgres (state) + TSDB (el almacén de series temporales)

Resource sizing

Mínimo para producción:

  • API: 2 vCPU / 4 GB RAM
  • Postgres: 2 vCPU / 8 GB RAM + 50 GB SSD
  • TSDB: 4 vCPU / 16 GB RAM + 500 GB SSD (para una retención de 30 días con 1000 series/host × 100 hosts)
  • Cabinet: 1 vCPU / 1 GB RAM (Next.js prod build)