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ón | Nota |
|---|---|
| VPS Docker | Elegida para piloto — igual que la operación real de IVPrior |
| Vercel + Railway + Neon | Más piezas; OK como alternativa si un spike lo simplifica |
| AWS ECS/EKS día 1 | Sobre-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 shipmergea código; no despliega (ADR-017 + ADR-027). Deploy =workflow_dispatch(deploy-production.yml).