#!/bin/bash # DR-Workstation Quartals-Smoke # # Prueft Git-Read, Hetzner-SSH und Borg-Repo-Erreichbarkeit vom Operator-PC. # Speichert keine Passphrase. Borg fragt interaktiv nach der Repo-Passphrase. set -euo pipefail GITHUB_KEY="${GITHUB_KEY:-$HOME/.ssh/dr-readonly}" HETZNER_KEY="${HETZNER_KEY:-$HOME/.ssh/dr-hetzner}" GITHUB_REPO="${GITHUB_REPO:-git@github.com:michaelkaleschke-spec/homelab-infra.git}" BORG_REPO="${BORG_REPO:-ssh://u565255@u565255.your-storagebox.de/./hetzner_borg_appdata_critical}" echo "=== Tooling ===" command -v ssh command -v git command -v borg borg --version echo echo "=== Key files ===" test -r "$GITHUB_KEY" || { echo "Missing GitHub key: $GITHUB_KEY" >&2; exit 1; } test -r "$HETZNER_KEY" || { echo "Missing Hetzner key: $HETZNER_KEY" >&2; exit 1; } ls -l "$GITHUB_KEY" "$HETZNER_KEY" echo echo "=== GitHub Deploy-Key ===" GIT_SSH_COMMAND="ssh -i $GITHUB_KEY -o IdentitiesOnly=yes -o BatchMode=yes" \ git ls-remote "$GITHUB_REPO" HEAD echo echo "=== Hetzner SSH-Login ===" ssh -i "$HETZNER_KEY" -o IdentitiesOnly=yes -o BatchMode=yes -p 23 \ u565255@u565255.your-storagebox.de "ls" | head -5 echo echo "=== Borg-Repo ===" export BORG_RSH="ssh -i $HETZNER_KEY -o IdentitiesOnly=yes -p 23" borg info "$BORG_REPO" | head -12 echo echo "DR-Smoke OK ($(date '+%F %T'))"