Fix: Nur reale URLs verwenden (kestra.pve.mbo-tech-it.de, gitea.mbo-tech-it.de, netbox.mbo-tech-it.de)

Backup-Server Hostname bleibt variable {BACKUP_SERVER_HOSTNAME} bis erstellt
This commit is contained in:
Jonny (MBO-Tech-IT) 2026-09-09 08:44:45 +00:00
parent 9f8dda52d3
commit ca16aaddd3
No known key found for this signature in database
6 changed files with 28 additions and 28 deletions

View File

@ -134,7 +134,7 @@ Das System automatisiert Backups aller in Netbox gekennzeichneten Systeme mit:
┌──────────────────────────────────────────────────────────────┐
│ BACKUP-SERVER │
│ SSH: backup@backup.mbo-tech-it.de
│ SSH: backup@{BACKUP_SERVER_HOSTNAME}
│ Repos: /backup/repos/{hostname}/ │
│ • Empfängt Borg Archive via SSH │
│ • Speichert in lokalen Repositories │

View File

@ -29,7 +29,7 @@ source secrets.env
```bash
# SSH zum zukünftigen Backup-Server
ssh root@backup.mbo-tech-it.de
ssh root@{BACKUP_SERVER_HOSTNAME}
# Ansible installieren
apt update && apt install -y ansible
@ -71,12 +71,12 @@ curl -X PATCH https://netbox.mbo-tech-it.de/api/dcim/devices/$DEVICE_ID/ \
```bash
# Workflow hochladen
curl -X POST https://kestra.mbo-tech-it.de/api/v1/flows \
curl -X POST https://kestra.pve.mbo-tech-it.de/api/v1/flows \
-H "Content-Type: application/yaml" \
-d @kestra/workflows/backup-provision.yaml
# Oder via UI:
# 1. Login zu https://kestra.mbo-tech-it.de
# 1. Login zu https://kestra.pve.mbo-tech-it.de
# 2. Create Flow → Upload YAML
# 3. Speichern
```
@ -100,7 +100,7 @@ In Kestra UI:
# In Kestra UI: automation → backup-provision → Execute
# Oder via API:
curl -X POST https://kestra.mbo-tech-it.de/api/v1/namespaces/automation/flows/backup-provision/executions \
curl -X POST https://kestra.pve.mbo-tech-it.de/api/v1/namespaces/automation/flows/backup-provision/executions \
-H "Content-Type: application/json"
```
@ -118,7 +118,7 @@ tail -f /var/log/mbo-backup/*.log
```bash
# Auf Backup-Server
ssh backup@backup.mbo-tech-it.de
ssh backup@{BACKUP_SERVER_HOSTNAME}
# Zeige alle Borg Repos
ls -la /backup/repos/
@ -134,7 +134,7 @@ borg info /backup/repos/SERVERNAME
```bash
# SSH auf Backup-Server
ssh root@backup.mbo-tech-it.de
ssh root@{BACKUP_SERVER_HOSTNAME}
# Manuelle Rclone Sync
sudo -u backup rclone sync --progress \
@ -162,7 +162,7 @@ Jetzt läuft das System automatisch täglich! 🚀
```bash
# Test SSH vom Client zum Backup-Server
ssh -i /root/.ssh/mbo-backup-key.ed25519 \
backup@backup.mbo-tech-it.de "echo OK"
backup@{BACKUP_SERVER_HOSTNAME} "echo OK"
# Falls Fehler: SSH-Key regenerieren
ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519

View File

@ -6,7 +6,7 @@ Integriertes Backup-System basierend auf Netbox-Inventar, Kestra-Automation, Bor
```
┌─────────────────────────────────────────────────────────────┐
│ Kestra (kestra.mbo-tech-it.de) │
│ Kestra (kestra.pve.mbo-tech-it.de) │
│ • Tägliche Abfrage von Netbox (TAG: backup=true) │
│ • Trigger Ansible auf allen markierten Hosts │
└─────────────────────────────────────────────────────────────┘
@ -21,11 +21,11 @@ Integriertes Backup-System basierend auf Netbox-Inventar, Kestra-Automation, Bor
│ Backup-Clients (alle gekennzeichneten Systeme) │
│ • Borg Backup-Script läuft täglich um 03:00 │
│ • Docker Pre-Backup Hooks (MySQL, PostgreSQL, Volumes) │
│ • SSH zu Backup-Server: backup@backup.mbo-tech-it.de
│ • SSH zu Backup-Server: backup@{BACKUP_SERVER_HOSTNAME}
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Backup-Server (backup.mbo-tech-it.de) │
│ Backup-Server ({BACKUP_SERVER_HOSTNAME}) │
│ Struktur: /backup/repos/{hostname}/ │
│ • Zentrale Borg-Repositories pro Host │
│ • SSH-Zugang nur für borg serve (restricted) │
@ -71,7 +71,7 @@ cd backup-automation
```bash
# SSH auf Backup-Server
ssh root@backup.mbo-tech-it.de
ssh root@{BACKUP_SERVER_HOSTNAME}
# Ansible Playbook ausführen
ansible-playbook -i localhost, \
@ -84,7 +84,7 @@ ansible-playbook -i localhost, \
```bash
# Workflow in Kestra hochladen
curl -X POST https://kestra.mbo-tech-it.de/api/v1/flows \
curl -X POST https://kestra.pve.mbo-tech-it.de/api/v1/flows \
-H "Content-Type: application/yaml" \
-d @kestra/workflows/backup-provision.yaml
```
@ -155,7 +155,7 @@ sudo -u backup rclone sync --progress /backup/repos hetzner:mbo-backups/producti
### Borg Repository Status
```bash
ssh backup@backup.mbo-tech-it.de
ssh backup@{BACKUP_SERVER_HOSTNAME}
borg list /backup/repos/SERVER_NAME
borg info /backup/repos/SERVER_NAME::(latest-backup)
```
@ -172,7 +172,7 @@ ssh root@SERVER_NAME
# 2. Hole aktuelles Backup vom Backup-Server
borg extract --progress \
backup@backup.mbo-tech-it.de:/backup/repos/SERVER_NAME::(latest) \
backup@{BACKUP_SERVER_HOSTNAME}:/backup/repos/SERVER_NAME::(latest) \
/etc
# 3. Oder aus S3 (falls lokal nicht verfügbar)
@ -183,11 +183,11 @@ rclone ls hetzner:mbo-backups/production/repos/SERVER_NAME/
```bash
# Liste Backup-Archive
borg list backup@backup.mbo-tech-it.de:/backup/repos/SERVER_NAME
borg list backup@{BACKUP_SERVER_HOSTNAME}:/backup/repos/SERVER_NAME
# Extrahiere einzelne Datei
borg extract \
backup@backup.mbo-tech-it.de:/backup/repos/SERVER_NAME::archive-name \
backup@{BACKUP_SERVER_HOSTNAME}:/backup/repos/SERVER_NAME::archive-name \
path/to/file
```
@ -195,7 +195,7 @@ borg extract \
```bash
# Auf Backup-Server:
ssh backup@backup.mbo-tech-it.de
ssh backup@{BACKUP_SERVER_HOSTNAME}
# Finde den Export
ls -la /var/backups/docker/*/
@ -216,7 +216,7 @@ docker run --rm \
```bash
# Test SSH-Connection:
ssh -i /root/.ssh/mbo-backup-key.ed25519 \
backup@backup.mbo-tech-it.de "echo OK"
backup@{BACKUP_SERVER_HOSTNAME} "echo OK"
# SSH-Keys neu generieren (falls nötig):
ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519
@ -226,7 +226,7 @@ ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519
```bash
# Backup-Server:
ssh backup@backup.mbo-tech-it.de
ssh backup@{BACKUP_SERVER_HOSTNAME}
borg check -v /backup/repos/SERVER_NAME
borg repair /backup/repos/SERVER_NAME
```
@ -253,7 +253,7 @@ sudo -u backup rclone sync --progress --log-level DEBUG \
Settings → Logs → backup-provision
# Manuelle Test:
curl -X GET https://kestra.mbo-tech-it.de/api/v1/namespaces/automation/flows
curl -X GET https://kestra.pve.mbo-tech-it.de/api/v1/namespaces/automation/flows
```
---

View File

@ -6,7 +6,7 @@
- [ ] 2+ CPUs
- [ ] 4+ GB RAM
- [ ] Großes Datenvolume (/backup mit genug Platz)
- [ ] Hostname: `backup.mbo-tech-it.de`
- [ ] Hostname: `{BACKUP_SERVER_HOSTNAME}`
- [ ] Hetzner S3 Credentials besorgen
- [ ] Access Key ID
@ -85,7 +85,7 @@
- [ ] Kestra-Workflow YAML ins System laden:
```bash
curl -X POST https://kestra.mbo-tech-it.de/api/v1/flows \
curl -X POST https://kestra.pve.mbo-tech-it.de/api/v1/flows \
-H "Content-Type: application/yaml" \
-d @kestra/workflows/backup-provision.yaml
```
@ -130,7 +130,7 @@
- [ ] Auf Backup-Server Repository prüfen:
```bash
ssh backup@backup.mbo-tech-it.de
ssh backup@{BACKUP_SERVER_HOSTNAME}
borg list /backup/repos/TEST_SERVER
borg info /backup/repos/TEST_SERVER
```

View File

@ -86,7 +86,7 @@ tasks:
inventory += """
[backup_clients:vars]
ansible_python_interpreter=/usr/bin/python3
backup_repo_server=backup.mbo-tech-it.de
backup_repo_server={BACKUP_SERVER_HOSTNAME}
backup_repo_base=/backup/repos
"""
@ -112,7 +112,7 @@ backup_repo_base=/backup/repos
ansible-playbook \
-i {{ vars.ansible_inventory_file }} \
ansible/playbooks/install-borg-client.yaml \
-e "backup_repo_server=backup.mbo-tech-it.de" \
-e "backup_repo_server={BACKUP_SERVER_HOSTNAME}" \
-e "backup_repo_base=/backup/repos" \
--diff
@ -128,7 +128,7 @@ backup_repo_base=/backup/repos
cd /tmp/backup-automation
# SSH zum Backup-Server
ssh -i ~/.ssh/id_ed25519 backup@backup.mbo-tech-it.de << 'EOF'
ssh -i ~/.ssh/id_ed25519 backup@{BACKUP_SERVER_HOSTNAME} << 'EOF'
source /home/backup/.bashrc
# Hole Device-Liste aus Netbox

View File

@ -5,7 +5,7 @@
become: yes
vars:
backup_repo_server: "backup.mbo-tech-it.de"
backup_repo_server: "{BACKUP_SERVER_HOSTNAME}"
backup_repo_base: "/backup/repos"
backup_user: "backup"
backup_ssh_key_path: "/root/.ssh/mbo-backup-key.ed25519"