66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
npm run infra:persistence-check
|
|
npm run infra:persistence-check -- --recreate
|
|
```
|
|
|
|
## Verificación
|
|
|
|
```text
|
|
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.
|