42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/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'))"
|