2.3 KiB
2.3 KiB
F-155 — Implementer evidence
Cambios
project/docker-compose.yml
- PostgreSQL y Redis ahora tienen
restart: unless-stopped. - Los volúmenes quedan con nombre explícito para no depender del nombre de proyecto de Docker Compose:
- PostgreSQL:
project_mdv_pg_data - Redis:
project_mdv_redis_data
- PostgreSQL:
- Se conservaron los nombres existentes para no apartar/perder la DB activa.
- Redis ahora arranca con persistencia AOF:
--appendonly yes--appendfsync everysec--save 60 1
- Redis tiene healthcheck
redis-cli ping.
project/scripts/monolith.sh
start_infrastructure()ya no hacedocker startdirecto de contenedores existentes.- Ahora siempre usa
docker compose up -d postgres redis, lo que permite reconciliar cambios de configuración sin perder volúmenes nombrados. - Espera readiness de PostgreSQL y Redis.
project/scripts/check-persistence.mjs
Nuevo check operacional:
- levanta infraestructura con Compose;
- escribe marcador en
app_metade PostgreSQL; - escribe marcador en Redis;
- reinicia o recrea contenedores manteniendo volúmenes;
- comprueba que ambos marcadores siguen;
- muestra mounts reales y
appendonlyde Redis.
project/package.json
Nuevo script:
npm run infra:persistence-check
npm run infra:persistence-check -- --recreate
Verificación
npm run infra:persistence-check -- --recreate ✅
npm run infra:persistence-check ✅
docker compose config ✅
monolith prod status ✅ backend/admin/frontend/storefront 200
DB products después de recrear contenedores ✅ 12
DB backoffice users después de recrear ✅ 1
Redis appendonly ✅ yes
npm run build ✅
npm test ✅ 191 passed / 56 skipped
eslint check-persistence.mjs ✅
prettier docker-compose/package/check script ✅
verify.sh ✅
git diff --check ✅
Notas
- No se han cambiado los datos actuales: al usar los nombres existentes
project_mdv_pg_datayproject_mdv_redis_data, la DB actual sigue montada. - Hay imágenes
uploadsuntracked preexistentes en frontend/storefront; no pertenecen a F-155 y no se incluyen.