3.2 KiB
3.2 KiB
Implementer — F-049
Summary
Se ha creado project/scripts/monolith.sh como punto único de operación dev/prod para backend, frontend, admin y storefront. Se ha ejecutado un redeploy productivo y se ha verificado la disponibilidad de los cuatro servicios tanto por localhost como por la IP LAN.
Implemented
Scripts and configuration
project/scripts/monolith.shadministra los servicios por PID file con PIDs enproject/.runtime/<mode>/<service>.pidy logs enproject/.runtime/<mode>/<service>.log(ambos ignorados por git).- Comandos soportados:
start,restart,status,stop,logs,urls. Modos:devyprod. - En dev: instala con
npm install, levanta PostgreSQL/Redis, aplica migraciones y arranca cada servicio connext devotsx watchenlazado a0.0.0.0. - En prod:
npm ci, migraciones, builds completos y arranque connext start/node dist/.../server.jsen0.0.0.0. - El script detecta la IP LAN desde la ruta por defecto y la imprime, con override vía
LAN_IP. - El script no utiliza
pkill; envía señales únicamente a los PIDs registrados y, si un puerto está ocupado por un proceso ajeno, aborta mostrando el PID. project/package.jsonañadiótsxcomo devDependency y el scriptdevparatsx watch; los builds siguen contsc -p tsconfig.build.json.project/.gitignoreignora el runtime efímero.runtime/.
Documentación
docs/HOWTO-monolith.mdcubre requisitos, dev, prod, acceso LAN, infraestructura, validación, troubleshooting y overrides de puertos.- Tabla de servicios, URLs LAN, comandos
start/restart/status/stop/logs/urls,LAN_IPpara forzar IP y notas de firewall.
Redespliegue productivo
- Migraciones aplicadas sin cambios pendientes.
- Builds: backend TypeScript, admin Next (24 rutas), frontend principal Next (29 rutas), storefront SEO Next (6 rutas) — todos verdes.
- Servicios reiniciados y escuchando en sus puertos. Health y HTTP 200 desde el host y desde la IP LAN.
Evidence
Status y procesos gestionados
SERVICE PID PROCESS HTTP URL
backend 43396 running 200 http://192.168.18.93:3000/health
frontend 43418 running 200 http://192.168.18.93:3003/
admin 43438 running 200 http://192.168.18.93:3004/
storefront 43482 running 200 http://192.168.18.93:3005/
Smoke LAN
http://192.168.18.93:3000/health 200
http://192.168.18.93:3000/docs 200
http://192.168.18.93:3003/ 200
http://192.168.18.93:3004/ 200
http://192.168.18.93:3005/ 200
Quality gates
npm run typecheck(backend): PASS.npm run lint:boundaries: PASS — 237 files checked../scripts/verify.sh: PASS — backlog 117 features y runtime consistente.git diff --check: PASS.
Known non-blocking warnings
- El build de
frontendregistra durante SSG que dosfetchno-storehacen la home dinámica. Es esperado y no falla la compilación. - El admin inicia en producción con
COOKIE_SECURE=falsepara HTTP en LAN de confianza; en producción pública debe usarse HTTPS yCOOKIE_SECURE=truedetrás de un reverse proxy.