Files
mercadodevida/work/artifacts/F-155/implementer.md
2026-08-21 22:37:03 +02:00

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
  • 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 hace docker start directo 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_meta de PostgreSQL;
  • escribe marcador en Redis;
  • reinicia o recrea contenedores manteniendo volúmenes;
  • comprueba que ambos marcadores siguen;
  • muestra mounts reales y appendonly de 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_data y project_mdv_redis_data, la DB actual sigue montada.
  • Hay imágenes uploads untracked preexistentes en frontend/storefront; no pertenecen a F-155 y no se incluyen.