Files
dh-inspeccion-v2/docs/RESTORE_RUNBOOK.md
T

2.1 KiB

Procedimiento de recuperación — DH V2

Este documento es un runbook para incidentes. No debe ejecutarse durante un deploy normal.

Principios

  • identificar exactamente el backup a utilizar;
  • verificar SHA256SUMS antes de cualquier cambio;
  • generar un backup de seguridad del estado actual;
  • no usar docker compose down -v;
  • no eliminar dhv2_pgdata;
  • no eliminar dhv2_asset_media;
  • detener únicamente API y web mientras se recupera la base;
  • conservar el .env actual salvo que el incidente requiera recuperar el del backup;
  • validar primero el dump con scripts/verify-backup.sh.

Verificación previa

cd /var/www/dhv2.korexlabs.com
bash scripts/verify-backup.sh /var/www/dh-backup/dhv2-BACKUP-ELEGIDO

Orden de recuperación

  1. Registrar el motivo, fecha y backup seleccionado.
  2. Ejecutar scripts/backup-phase-a.sh pre-restore.
  3. Verificar ambos backups.
  4. Detener api y web, manteniendo db activo.
  5. Extraer source.tar.gz en un directorio temporal, no sobre producción.
  6. Revisar su contenido y recién entonces reemplazar los fuentes.
  7. Restaurar database.dump con el usuario owner y pg_restore.
  8. Si el backup contiene asset-media.tar.gz, restaurarlo en el volumen dhv2_asset_media antes de iniciar la API.
  9. Ejecutar migration:show y aplicar sólo migraciones pendientes conocidas.
  10. Reconstruir API y web.
  11. Ejecutar health interno y externo.
  12. Ejecutar la aceptación de la fase y una descarga autenticada conocida.
  13. Conservar el backup anterior hasta confirmar estabilidad.

La restauración de la base reemplaza datos y requiere una autorización específica para el incidente. Por ese motivo no se incluye un script automático que borre o sobrescriba producción.

Validación posterior

health interno y externo: ok
database: ok
versión esperada
Pending migrations: no
login: 200
endpoints administrativos con sesión: 200
endpoints administrativos sin sesión: 401
logout: sesión revocada
contenedores: Up
logs: sin errores de bootstrap
volumen dhv2_asset_media: montado y escribible
fotografía o documento conocido: descarga íntegra