Files
vm-skills/disaster-recovery/scripts/20_restore_plan.sh
Vault Sovereign eac77ef7b4 Initial commit: VaultMesh Skills collection
Collection of operational skills for VaultMesh infrastructure including:
- backup-sovereign: Backup and recovery operations
- btc-anchor: Bitcoin anchoring
- cloudflare-tunnel-manager: Cloudflare tunnel management
- container-registry: Container registry operations
- disaster-recovery: Disaster recovery procedures
- dns-sovereign: DNS management
- eth-anchor: Ethereum anchoring
- gitea-bootstrap: Gitea setup and configuration
- hetzner-bootstrap: Hetzner server provisioning
- merkle-forest: Merkle tree operations
- node-hardening: Node security hardening
- operator-bootstrap: Operator initialization
- proof-verifier: Cryptographic proof verification
- rfc3161-anchor: RFC3161 timestamping
- secrets-vault: Secrets management

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-27 00:25:00 +00:00

26 lines
816 B
Bash

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SKILL_ROOT="$(dirname "$SCRIPT_DIR")"
source "$SCRIPT_DIR/_common.sh"
: "${BACKUP_SKILL_DIR:=}"
: "${RUN_DIR:=}"
: "${DR_TARGET_BASE:=$HOME/recovery-drills}"
main() {
[[ -n "$BACKUP_SKILL_DIR" ]] || die "BACKUP_SKILL_DIR is required."
local run_dir
run_dir="$(resolve_run_dir "$BACKUP_SKILL_DIR" "$RUN_DIR")"
local ts; ts="$(date -Iseconds | tr ':' '-')"
local target="$DR_TARGET_BASE/restore_$ts"
echo "[PLAN] $(date -Iseconds) Restore source: $run_dir/archive.tar.gz.age"
echo "[PLAN] $(date -Iseconds) Restore target: $target"
echo "[PLAN] $(date -Iseconds) Staged drill restore only (no system paths)."
echo "[PLAN] $(date -Iseconds) Next: export DRY_RUN=0 && ./scripts/21_restore_apply.sh"
}
main "$@"