ADR-030 — Cloud and deployment

Architecture decision record — status: Accepted.

Source: docs/adr/ADR-030-cloud-deployment.md

ADR-030: Cloud and deployment

Estado

Accepted — 2026-08-23

Contexto

IVPrior documentó AWS y opera MVP en VPS (Hostinger). IVPrior en discovery no necesita EKS. Prioridad: costo bajo, Docker, un solo operador.

Decisión

Fase 1 (piloto / V1): un VPS + Docker Compose (Hostinger o equivalente). Apps: api, web, worker. Postgres y Redis en el mismo host o managed barato. HTTPS (Caddy/Traefik). Backups de Postgres diarios a object storage.

Fase 2: si hay clientes de pago y uptime exigido, mover datos a Postgres managed y evaluar split web/api. AWS u otro cloud = amendment.

No hay multi-región en V1 (ICP = US).

Alternativas

OpciónNota
VPS DockerElegida para piloto — igual que la operación real de IVPrior
Vercel + Railway + NeonMás piezas; OK como alternativa si un spike lo simplifica
AWS ECS/EKS día 1Sobre-diseño

Consecuencias

  • Runbooks Hostinger: docs/ops/hostinger-inventory.md, docs/ops/hostinger-vps-mvp-deploy.md.
  • Piloto multi-app en el mismo VPS que MercoraHub: amendment ADR-030 shared VPS (A-lite / shared-edge).
  • make ship mergea código; no despliega (ADR-017 + ADR-027). Deploy = workflow_dispatch (deploy-production.yml).