chore: import DH V2 D5.6.4 production baseline

This commit is contained in:
DH V2
2026-09-05 10:12:35 -03:00
commit 82213e72f5
757 changed files with 84218 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env bash
set -Eeuo pipefail
dhv2_project="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
dhv2_requested="${1:-}"
if [ -z "$dhv2_requested" ]; then
echo "Uso: bash scripts/verify-backup.sh /var/www/dh-backup/dhv2-..." >&2
exit 1
fi
dhv2_backup="$(realpath -e "$dhv2_requested")"
case "$dhv2_backup" in
/var/www/dh-backup/dhv2-*) ;;
*) echo "Ruta de backup no permitida: $dhv2_backup" >&2; exit 1 ;;
esac
for dhv2_file in source.tar.gz database.dump .env MANIFEST.txt SHA256SUMS; do
test -s "$dhv2_backup/$dhv2_file" || { echo "Falta $dhv2_file" >&2; exit 1; }
done
test "$(stat -c '%a' "$dhv2_backup/.env")" = "600" || {
echo "El backup de .env no tiene permisos 600" >&2
exit 1
}
(
cd "$dhv2_backup"
sha256sum -c SHA256SUMS
)
dhv2_archive_listing="$(tar -tzf "$dhv2_backup/source.tar.gz")"
if grep -Eq '(^|/)\.env$|(^|/)(node_modules|dist)/' <<< "$dhv2_archive_listing"; then
echo "El archivo de fuentes contiene elementos excluidos" >&2
exit 1
fi
if [ -f "$dhv2_backup/asset-media.tar.gz" ]; then
tar -tzf "$dhv2_backup/asset-media.tar.gz" >/dev/null
fi
cd "$dhv2_project"
docker compose exec -T db pg_restore --list < "$dhv2_backup/database.dump" >/dev/null
echo "Backup verificable y legible: OK"
echo "$dhv2_backup"