2.1 KiB
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
SHA256SUMSantes 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
.envactual 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
- Registrar el motivo, fecha y backup seleccionado.
- Ejecutar
scripts/backup-phase-a.sh pre-restore. - Verificar ambos backups.
- Detener
apiyweb, manteniendodbactivo. - Extraer
source.tar.gzen un directorio temporal, no sobre producción. - Revisar su contenido y recién entonces reemplazar los fuentes.
- Restaurar
database.dumpcon el usuario owner ypg_restore. - Si el backup contiene
asset-media.tar.gz, restaurarlo en el volumendhv2_asset_mediaantes de iniciar la API. - Ejecutar
migration:showy aplicar sólo migraciones pendientes conocidas. - Reconstruir API y web.
- Ejecutar health interno y externo.
- Ejecutar la aceptación de la fase y una descarga autenticada conocida.
- 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