docs: update dr workstation readiness
This commit is contained in:
@@ -11,7 +11,7 @@ in `docs/RESTORE_MATRIX.md` ergaenzt.
|
|||||||
|
|
||||||
| Prioritaet | Punkt | Naechster Schritt |
|
| Prioritaet | Punkt | Naechster Schritt |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| P1 | DR-Workstation Bare-Metal-Kit: Borg-Client + Hetzner-Smoke abschliessen | Readiness-Check 2026-06-06: WSL2 Ubuntu 24.04 ist vorhanden, SSH/Git sind vorhanden, Gitea-SSH-Smoke aus WSL ist erfolgreich, `~/dr-smoke.sh` wurde bereitgestellt. Verbleibend: Operator muss in Ubuntu per `sudo apt install borgbackup openssh-client` den Borg-Client installieren, den offline gesicherten Hetzner-DR-Key als Arbeitskopie nach `~/.ssh/dr-hetzner` legen und den Borg-Smoke fahren. Beleg: `docs/audit/dr-workstation-readiness-2026-06-06.md` |
|
| P1 | DR-Workstation Bare-Metal-Kit: finalen Borg-Smoke fahren | Readiness-Check 2026-06-06: WSL2 Ubuntu 24.04 ist vorhanden, SSH/Git und Borg 1.2.8 sind installiert, DR-Key-Arbeitskopien liegen unter `~/.ssh/dr-readonly` und `~/.ssh/dr-hetzner`, GitHub-Read-Smoke und Hetzner-SSH-Smoke sind erfolgreich, `~/dr-smoke.sh` ist bereitgestellt. Verbleibend: Operator muss `bash ~/dr-smoke.sh` starten und die Borg-Repo-Passphrase interaktiv eingeben. Beleg: `docs/audit/dr-workstation-readiness-2026-06-06.md` |
|
||||||
| P2 | Family-Onboarding praktisch starten | Fokus: Vaultwarden als Passwortbasis, Immich-Mobile-Backup auf jedem Handy, Mealie mit erstem Rezept/Einkaufsliste; Ablauf steht in `docs/FAMILY_ONBOARDING.md` |
|
| P2 | Family-Onboarding praktisch starten | Fokus: Vaultwarden als Passwortbasis, Immich-Mobile-Backup auf jedem Handy, Mealie mit erstem Rezept/Einkaufsliste; Ablauf steht in `docs/FAMILY_ONBOARDING.md` |
|
||||||
|
|
||||||
## Restore-Audit Backlog (Stand 2026-06-03)
|
## Restore-Audit Backlog (Stand 2026-06-03)
|
||||||
|
|||||||
@@ -117,8 +117,11 @@ Damit der "ich pruefe das vierteljaehrlich"-Schritt zur Routine wird, ein kleine
|
|||||||
|
|
||||||
Stand 2026-06-06: Das Skript liegt zusaetzlich versioniert unter
|
Stand 2026-06-06: Das Skript liegt zusaetzlich versioniert unter
|
||||||
`ops/maintenance/dr-workstation-smoke.sh` und wurde auf `baerchen` bereits nach
|
`ops/maintenance/dr-workstation-smoke.sh` und wurde auf `baerchen` bereits nach
|
||||||
`~/dr-smoke.sh` in die Ubuntu-WSL kopiert. Es kann nach Borg-Installation und
|
`~/dr-smoke.sh` in die Ubuntu-WSL kopiert. Borg 1.2.8 ist installiert, die
|
||||||
Ablage der DR-Keys direkt mit `bash ~/dr-smoke.sh` gestartet werden.
|
DR-Key-Arbeitskopien liegen unter `~/.ssh/dr-readonly` und
|
||||||
|
`~/.ssh/dr-hetzner`, GitHub-Read-Smoke und Hetzner-SSH-Smoke sind erfolgreich.
|
||||||
|
Offen bleibt nur der Borg-Smoke mit interaktiver Passphrase-Eingabe via
|
||||||
|
`bash ~/dr-smoke.sh`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cat > ~/dr-smoke.sh <<'EOF'
|
cat > ~/dr-smoke.sh <<'EOF'
|
||||||
|
|||||||
@@ -107,4 +107,4 @@ Operative Regel: Die DR-Workstation wird nicht als Test-/Spiel-PC betrachtet. WS
|
|||||||
| 2026-06-03 | KOMODO_*-Notiz offline gesichert (Operator-Bestaetigung im DR-Tabletop-Followup). Quelle bleibt host-seitige `.env` (`/mnt/user/services/stacks/komodo/.env`) bzw. Drift-Recovery-Kopie vom 2026-05-04. Bare-Metal-Komodo-Bootstrap ist damit ohne Vaultwarden moeglich. | Restliche P1-Operator-Aufgaben: GitHub-Read-PAT, DR-Workstation-Setup, Nextcloud-Restore-Test |
|
| 2026-06-03 | KOMODO_*-Notiz offline gesichert (Operator-Bestaetigung im DR-Tabletop-Followup). Quelle bleibt host-seitige `.env` (`/mnt/user/services/stacks/komodo/.env`) bzw. Drift-Recovery-Kopie vom 2026-05-04. Bare-Metal-Komodo-Bootstrap ist damit ohne Vaultwarden moeglich. | Restliche P1-Operator-Aufgaben: GitHub-Read-PAT, DR-Workstation-Setup, Nextcloud-Restore-Test |
|
||||||
| 2026-06-03 | GitHub-Mirror Read-Only Deploy-Key `DR Read-Only 2026-06-03` (ed25519, Passphrase-frei) erzeugt, in GitHub Repo Settings ohne Write-Access hinterlegt, Smoke `git ls-remote` erfolgreich (`d947c7f` matched master HEAD), Private-Key offline neben KOMODO_*-Notiz abgelegt, Arbeitsplatz-Kopie geloescht. | Restliche P1-Operator-Aufgaben: DR-Workstation-Setup, Nextcloud-Restore-Test |
|
| 2026-06-03 | GitHub-Mirror Read-Only Deploy-Key `DR Read-Only 2026-06-03` (ed25519, Passphrase-frei) erzeugt, in GitHub Repo Settings ohne Write-Access hinterlegt, Smoke `git ls-remote` erfolgreich (`d947c7f` matched master HEAD), Private-Key offline neben KOMODO_*-Notiz abgelegt, Arbeitsplatz-Kopie geloescht. | Restliche P1-Operator-Aufgaben: DR-Workstation-Setup, Nextcloud-Restore-Test |
|
||||||
| 2026-06-03 | Hetzner Storage Box DR-SSH-Key `dr-hetzner-2026-06-03` (ed25519, Passphrase-frei) erzeugt, via `install-ssh-key` auf Storage Box `u565255.your-storagebox.de:23` autorisiert, passwortloser Login erfolgreich (Borg-Repos sichtbar), Private-Key offline neben KOMODO_*-Notiz und GitHub-Deploy-Key abgelegt, Arbeitsplatz-Kopie geloescht. Bare-Metal-Borg-Restore von der DR-Workstation ist damit moeglich, sobald WSL2 + Borg-Client installiert sind. | Restliche P1-Operator-Aufgaben: WSL2 + Borg-Client auf DR-Workstation installieren, Nextcloud-Restore-Test |
|
| 2026-06-03 | Hetzner Storage Box DR-SSH-Key `dr-hetzner-2026-06-03` (ed25519, Passphrase-frei) erzeugt, via `install-ssh-key` auf Storage Box `u565255.your-storagebox.de:23` autorisiert, passwortloser Login erfolgreich (Borg-Repos sichtbar), Private-Key offline neben KOMODO_*-Notiz und GitHub-Deploy-Key abgelegt, Arbeitsplatz-Kopie geloescht. Bare-Metal-Borg-Restore von der DR-Workstation ist damit moeglich, sobald WSL2 + Borg-Client installiert sind. | Restliche P1-Operator-Aufgaben: WSL2 + Borg-Client auf DR-Workstation installieren, Nextcloud-Restore-Test |
|
||||||
| 2026-06-06 | DR-Workstation teilweise produktiv: WSL2 Ubuntu 24.04 vorhanden, SSH/Git in WSL vorhanden, interner Gitea-SSH-Smoke erfolgreich, `ops/maintenance/dr-workstation-smoke.sh` nach `~/dr-smoke.sh` kopiert. Readiness-Beleg: `docs/audit/dr-workstation-readiness-2026-06-06.md`. | Verbleibend: `borgbackup` per sudo in WSL installieren, offline gesicherten Hetzner-DR-Key nach `~/.ssh/dr-hetzner` legen, Borg-Smoke mit Passphrase fahren |
|
| 2026-06-06 | DR-Workstation fast produktiv: WSL2 Ubuntu 24.04 vorhanden, SSH/Git und Borg 1.2.8 in WSL vorhanden, DR-Key-Arbeitskopien unter `~/.ssh/dr-readonly` und `~/.ssh/dr-hetzner`, GitHub-Read-Smoke und Hetzner-SSH-Smoke erfolgreich, `ops/maintenance/dr-workstation-smoke.sh` nach `~/dr-smoke.sh` kopiert. Readiness-Beleg: `docs/audit/dr-workstation-readiness-2026-06-06.md`. | Verbleibend: `bash ~/dr-smoke.sh` starten und Borg-Passphrase interaktiv eingeben; Passphrase wird bewusst nicht gespeichert |
|
||||||
|
|||||||
@@ -8,31 +8,29 @@ Automatisch erzeugter lokaler Readiness-Check fuer den Operator-PC. Es wurden ke
|
|||||||
|---|---|
|
|---|---|
|
||||||
| WSL2 Ubuntu | vorhanden (`Ubuntu 24.04`, WSL Version 2) |
|
| WSL2 Ubuntu | vorhanden (`Ubuntu 24.04`, WSL Version 2) |
|
||||||
| SSH/Git in WSL | vorhanden |
|
| SSH/Git in WSL | vorhanden |
|
||||||
| Gitea-SSH-Smoke mit vorhandenem WSL-Key | ok |
|
| GitHub-Read-Smoke mit DR-Key | ok |
|
||||||
| Borg Client | fehlt |
|
| Borg Client | installiert |
|
||||||
| Hetzner Storage Box mit vorhandenem WSL-Key | nicht ok / separater DR-Key noetig |
|
| Hetzner Storage Box mit DR-Key | ok |
|
||||||
| `~/dr-smoke.sh` | vorhanden |
|
| `~/dr-smoke.sh` | vorhanden |
|
||||||
| WSL sudo ohne Passwortprompt | nein, Operator muss Passwort eingeben |
|
| WSL sudo ohne Passwortprompt | nein, Operator muss Passwort eingeben |
|
||||||
|
|
||||||
## Bewertung
|
## Bewertung
|
||||||
|
|
||||||
- Der lokale WSL2-/Ubuntu-Unterbau ist vorhanden.
|
- Der lokale WSL2-/Ubuntu-Unterbau ist vorhanden.
|
||||||
- Der vorhandene WSL-Key kann das interne Gitea erreichen.
|
- Die DR-Key-Arbeitskopien liegen in WSL unter `~/.ssh/dr-readonly` und `~/.ssh/dr-hetzner`.
|
||||||
- Der vorhandene WSL-Key ist nicht der Hetzner-DR-Key fuer die Storage Box.
|
- GitHub-Read-Smoke und Hetzner-SSH-Smoke sind erfolgreich.
|
||||||
- `borgbackup` ist noch nicht installiert.
|
- `borgbackup` ist installiert.
|
||||||
- Der vollstaendige Bare-Metal-DR-Smoke ist deshalb noch nicht abgeschlossen.
|
- Der vollstaendige Bare-Metal-DR-Smoke wartet nur noch auf die interaktive Borg-Passphrase.
|
||||||
|
|
||||||
## Naechste Operator-Schritte
|
## Naechste Operator-Schritte
|
||||||
|
|
||||||
In Ubuntu ausfuehren:
|
In Ubuntu ausfuehren:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt update
|
bash ~/dr-smoke.sh
|
||||||
sudo apt install -y borgbackup openssh-client
|
|
||||||
borg --version
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Danach den offline gesicherten Hetzner-DR-Key als Arbeitskopie nach `~/.ssh/dr-hetzner` legen und `chmod 600 ~/.ssh/dr-hetzner` setzen. Anschliessend den Smoke aus `docs/DR_WORKSTATION_SETUP.md` Schritt 3-6 fahren.
|
Borg fragt dabei interaktiv nach der Borg-Repo-Passphrase. Diese Passphrase wurde nicht auf `baerchen` gefunden und wird bewusst nicht dauerhaft gespeichert.
|
||||||
|
|
||||||
## Rohchecks
|
## Rohchecks
|
||||||
|
|
||||||
@@ -79,8 +77,10 @@ Codename: noble
|
|||||||
- ExitCode: `0`
|
- ExitCode: `0`
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
/usr/bin/borg
|
||||||
|
borg 1.2.8
|
||||||
/usr/bin/ssh
|
/usr/bin/ssh
|
||||||
OpenSSH_9.6p1 Ubuntu-3ubuntu13.15, OpenSSL 3.0.13 30 Jan 2024
|
OpenSSH_9.6p1 Ubuntu-3ubuntu13.16, OpenSSL 3.0.13 30 Jan 2024
|
||||||
/usr/bin/git
|
/usr/bin/git
|
||||||
git version 2.43.0
|
git version 2.43.0
|
||||||
```
|
```
|
||||||
@@ -98,29 +98,34 @@ sudo-password-needed
|
|||||||
- ExitCode: `0`
|
- ExitCode: `0`
|
||||||
|
|
||||||
```text
|
```text
|
||||||
total 32
|
total 40
|
||||||
drwx------ 2 michi michi 4096 Jun 4 12:20 .
|
drwx------ 2 michi michi 4096 Jun 6 09:14 .
|
||||||
drwxr-x--- 5 michi michi 4096 Jun 6 08:37 ..
|
drwxr-x--- 5 michi michi 4096 Jun 6 08:37 ..
|
||||||
|
-rw------- 1 michi michi 411 Jun 6 09:14 dr-hetzner
|
||||||
|
-rw------- 1 michi michi 419 Jun 6 09:14 dr-readonly
|
||||||
-rw------- 1 michi michi 411 Apr 4 19:29 id_ed25519
|
-rw------- 1 michi michi 411 Apr 4 19:29 id_ed25519
|
||||||
-rw-r--r-- 1 michi michi 97 Apr 4 19:29 id_ed25519.pub
|
-rw-r--r-- 1 michi michi 97 Apr 4 19:29 id_ed25519.pub
|
||||||
-rw------- 1 michi michi 4719 Jun 4 12:20 known_hosts
|
-rw------- 1 michi michi 6358 Jun 6 09:14 known_hosts
|
||||||
-rw------- 1 michi michi 3013 Apr 20 20:13 known_hosts.old
|
-rw------- 1 michi michi 3013 Apr 20 20:13 known_hosts.old
|
||||||
-rw------- 1 michi michi 3858 Apr 24 08:27 known_hosts.pre-port222-20260604-122031.bak
|
-rw------- 1 michi michi 3858 Apr 24 08:27 known_hosts.pre-port222-20260604-122031.bak
|
||||||
-rwxr-xr-x 1 michi michi 1311 Jun 6 08:37 /home/michi/dr-smoke.sh
|
-rwxr-xr-x 1 michi michi 1311 Jun 6 08:37 /home/michi/dr-smoke.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### gitea_ssh_smoke
|
### github_dr_key_smoke
|
||||||
|
|
||||||
- ExitCode: `0`
|
- ExitCode: `0`
|
||||||
|
|
||||||
```text
|
```text
|
||||||
0ef98a23e12886bc58a597d4bc4153108495f9e7 HEAD
|
68d3ace598ee4d1cdad3ed94b63ae5046ac187fb HEAD
|
||||||
```
|
```
|
||||||
|
|
||||||
### hetzner_ssh_smoke
|
### hetzner_dr_key_smoke
|
||||||
|
|
||||||
- ExitCode: `0`
|
- ExitCode: `0`
|
||||||
|
|
||||||
```text
|
```text
|
||||||
u565255@u565255.your-storagebox.de: Permission denied (publickey,password).
|
backup
|
||||||
|
backup2
|
||||||
|
hetzner_borg_appdata
|
||||||
|
hetzner_borg_appdata_critical
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -27,12 +27,12 @@ $checks["ubuntu_os"] = Invoke-WslCapture -Bash "lsb_release -a 2>/dev/null || ca
|
|||||||
$checks["tools"] = Invoke-WslCapture -Bash "command -v borg || true; borg --version 2>/dev/null || true; command -v ssh || true; ssh -V 2>&1 || true; command -v git || true; git --version 2>/dev/null || true"
|
$checks["tools"] = Invoke-WslCapture -Bash "command -v borg || true; borg --version 2>/dev/null || true; command -v ssh || true; ssh -V 2>&1 || true; command -v git || true; git --version 2>/dev/null || true"
|
||||||
$checks["sudo"] = Invoke-WslCapture -Bash "sudo -n true >/dev/null 2>&1 && echo sudo-noprompt-ok || echo sudo-password-needed"
|
$checks["sudo"] = Invoke-WslCapture -Bash "sudo -n true >/dev/null 2>&1 && echo sudo-noprompt-ok || echo sudo-password-needed"
|
||||||
$checks["wsl_ssh_files"] = Invoke-WslCapture -Bash "ls -la ~/.ssh 2>/dev/null || true; test -f ~/dr-smoke.sh && ls -la ~/dr-smoke.sh || true"
|
$checks["wsl_ssh_files"] = Invoke-WslCapture -Bash "ls -la ~/.ssh 2>/dev/null || true; test -f ~/dr-smoke.sh && ls -la ~/dr-smoke.sh || true"
|
||||||
$checks["gitea_ssh_smoke"] = Invoke-WslCapture -Bash "GIT_SSH_COMMAND='ssh -i ~/.ssh/id_ed25519 -o BatchMode=yes -o IdentitiesOnly=yes -o ConnectTimeout=8' git ls-remote ssh://git@192.168.178.58:222/Micha/homelab-infra.git HEAD 2>&1 | sed -n '1,5p'"
|
$checks["github_dr_key_smoke"] = Invoke-WslCapture -Bash "GIT_SSH_COMMAND='ssh -i ~/.ssh/dr-readonly -o BatchMode=yes -o IdentitiesOnly=yes -o ConnectTimeout=8' git ls-remote git@github.com:michaelkaleschke-spec/homelab-infra.git HEAD 2>&1 | sed -n '1,5p'"
|
||||||
$checks["hetzner_ssh_smoke"] = Invoke-WslCapture -Bash "ssh -i ~/.ssh/id_ed25519 -o BatchMode=yes -o IdentitiesOnly=yes -o ConnectTimeout=8 -p 23 u565255@u565255.your-storagebox.de 'ls' 2>&1 | sed -n '1,10p'"
|
$checks["hetzner_dr_key_smoke"] = Invoke-WslCapture -Bash "ssh -i ~/.ssh/dr-hetzner -o BatchMode=yes -o IdentitiesOnly=yes -o ConnectTimeout=8 -p 23 u565255@u565255.your-storagebox.de 'ls' 2>&1 | sed -n '1,10p'"
|
||||||
|
|
||||||
$borgInstalled = ($checks["tools"].Output -match "borg \d")
|
$borgInstalled = ($checks["tools"].Output -match "borg \d")
|
||||||
$giteaOk = ($checks["gitea_ssh_smoke"].Output -match "HEAD")
|
$githubOk = ($checks["github_dr_key_smoke"].Output -match "HEAD")
|
||||||
$hetznerOk = -not ($checks["hetzner_ssh_smoke"].Output -match "Permission denied|Connection refused|Could not")
|
$hetznerOk = ($checks["hetzner_dr_key_smoke"].Output -match "hetzner_borg_appdata_critical")
|
||||||
$sudoNeedsPassword = ($checks["sudo"].Output -match "sudo-password-needed")
|
$sudoNeedsPassword = ($checks["sudo"].Output -match "sudo-password-needed")
|
||||||
$drSmokeExists = ($checks["wsl_ssh_files"].Output -match "dr-smoke.sh")
|
$drSmokeExists = ($checks["wsl_ssh_files"].Output -match "dr-smoke.sh")
|
||||||
|
|
||||||
@@ -47,31 +47,29 @@ $lines += "| Check | Ergebnis |"
|
|||||||
$lines += "|---|---|"
|
$lines += "|---|---|"
|
||||||
$lines += '| WSL2 Ubuntu | vorhanden (`Ubuntu 24.04`, WSL Version 2) |'
|
$lines += '| WSL2 Ubuntu | vorhanden (`Ubuntu 24.04`, WSL Version 2) |'
|
||||||
$lines += "| SSH/Git in WSL | vorhanden |"
|
$lines += "| SSH/Git in WSL | vorhanden |"
|
||||||
$lines += "| Gitea-SSH-Smoke mit vorhandenem WSL-Key | " + ($(if ($giteaOk) { "ok" } else { "nicht ok" })) + " |"
|
$lines += "| GitHub-Read-Smoke mit DR-Key | " + ($(if ($githubOk) { "ok" } else { "nicht ok" })) + " |"
|
||||||
$lines += "| Borg Client | " + ($(if ($borgInstalled) { "installiert" } else { "fehlt" })) + " |"
|
$lines += "| Borg Client | " + ($(if ($borgInstalled) { "installiert" } else { "fehlt" })) + " |"
|
||||||
$lines += "| Hetzner Storage Box mit vorhandenem WSL-Key | " + ($(if ($hetznerOk) { "ok" } else { "nicht ok / separater DR-Key noetig" })) + " |"
|
$lines += "| Hetzner Storage Box mit DR-Key | " + ($(if ($hetznerOk) { "ok" } else { "nicht ok" })) + " |"
|
||||||
$lines += '| `~/dr-smoke.sh` | ' + ($(if ($drSmokeExists) { "vorhanden" } else { "fehlt" })) + ' |'
|
$lines += '| `~/dr-smoke.sh` | ' + ($(if ($drSmokeExists) { "vorhanden" } else { "fehlt" })) + ' |'
|
||||||
$lines += "| WSL sudo ohne Passwortprompt | " + ($(if ($sudoNeedsPassword) { "nein, Operator muss Passwort eingeben" } else { "ja" })) + " |"
|
$lines += "| WSL sudo ohne Passwortprompt | " + ($(if ($sudoNeedsPassword) { "nein, Operator muss Passwort eingeben" } else { "ja" })) + " |"
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += "## Bewertung"
|
$lines += "## Bewertung"
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += "- Der lokale WSL2-/Ubuntu-Unterbau ist vorhanden."
|
$lines += "- Der lokale WSL2-/Ubuntu-Unterbau ist vorhanden."
|
||||||
$lines += "- Der vorhandene WSL-Key kann das interne Gitea erreichen."
|
$lines += '- Die DR-Key-Arbeitskopien liegen in WSL unter `~/.ssh/dr-readonly` und `~/.ssh/dr-hetzner`.'
|
||||||
$lines += "- Der vorhandene WSL-Key ist nicht der Hetzner-DR-Key fuer die Storage Box."
|
$lines += "- GitHub-Read-Smoke und Hetzner-SSH-Smoke sind erfolgreich."
|
||||||
$lines += '- `borgbackup` ist noch nicht installiert.'
|
$lines += '- `borgbackup` ist installiert.'
|
||||||
$lines += "- Der vollstaendige Bare-Metal-DR-Smoke ist deshalb noch nicht abgeschlossen."
|
$lines += "- Der vollstaendige Bare-Metal-DR-Smoke wartet nur noch auf die interaktive Borg-Passphrase."
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += "## Naechste Operator-Schritte"
|
$lines += "## Naechste Operator-Schritte"
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += "In Ubuntu ausfuehren:"
|
$lines += "In Ubuntu ausfuehren:"
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += '```bash'
|
$lines += '```bash'
|
||||||
$lines += "sudo apt update"
|
$lines += "bash ~/dr-smoke.sh"
|
||||||
$lines += "sudo apt install -y borgbackup openssh-client"
|
|
||||||
$lines += "borg --version"
|
|
||||||
$lines += '```'
|
$lines += '```'
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += 'Danach den offline gesicherten Hetzner-DR-Key als Arbeitskopie nach `~/.ssh/dr-hetzner` legen und `chmod 600 ~/.ssh/dr-hetzner` setzen. Anschliessend den Smoke aus `docs/DR_WORKSTATION_SETUP.md` Schritt 3-6 fahren.'
|
$lines += 'Borg fragt dabei interaktiv nach der Borg-Repo-Passphrase. Diese Passphrase wurde nicht auf `baerchen` gefunden und wird bewusst nicht dauerhaft gespeichert.'
|
||||||
$lines += ""
|
$lines += ""
|
||||||
$lines += "## Rohchecks"
|
$lines += "## Rohchecks"
|
||||||
$lines += ""
|
$lines += ""
|
||||||
|
|||||||
Reference in New Issue
Block a user