# Backup-Konsolidierungsplan DiskStation
Stand: 2026-06-23 | Erstellt: kube-bot

## Ist-Zustand (Inkonsistenz)

### Share 1: `Backup_K3s_Longhorn` (alt, gewachsen)
```
Backup_K3s_Longhorn/
  argocd/
    argocd-backup-20260622T220311Z.yaml     ← ArgoCD Intranet Backup (IT15)
  docs/
    RESTORE_TESTPLAN_Longhorn.md
    RETENTION_CONCEPT_Longhorn.md
  logs/
    longhorn-nfs-pull-YYYYMMDD-HHMMSS.log   ← täglich, seit 2026-06-09
  longhorn-staging-test/
    backupstore/volumes/...                  ← Longhorn NFS Backupstore (produktiv)
  scripts/
  status/
```

### Share 2: `KI_Agenten/backups/k3s-dmz` (neu, strukturiert)
```
KI_Agenten/backups/k3s-dmz/
  tenants/
    platform/prod/
      infisical/20260622T201351Z/           ← DMZ-Infisical Backup ✅
      k3s-controlplane/20260622T202035Z/    ← K3s Controlplane Backup (ausstehend Pull)
    pidoka/prod/
      homarr/...                            ← Homarr Pilot ✅
      zammad-postgresql/...                 ← Zammad Restore-Artefakte ✅
  _restore-staging/pidoka/prod/             ← Restore-Staging Bereich
  docs/
  logs/
  scripts/
  status/
```

## Ziel-Struktur (konsolidiert)

Alles unter `KI_Agenten/backups/k3s-dmz/`, `Backup_K3s_Longhorn` danach löschen.

```
KI_Agenten/backups/k3s-dmz/
  tenants/
    platform/prod/
      argocd/
        20260622T220311Z/
          argocd-backup-20260622T220311Z.yaml   ← verschoben von Backup_K3s_Longhorn/argocd/
      infisical/
        20260622T201351Z/                       ← bereits hier ✅
      k3s-controlplane/
        20260622T202035Z/                       ← Pull ausstehend (dmz-backup SSH)
    pidoka/prod/
      homarr/...                                ← bereits hier ✅
      zammad-postgresql/...                     ← bereits hier ✅
  longhorn-backupstore/                         ← AUSNAHME (siehe unten)
    backupstore/volumes/...                     ← Longhorn NFS Backupstore
  _restore-staging/
    pidoka/prod/...
  docs/
    RESTORE_TESTPLAN_Longhorn.md               ← verschoben
    RETENTION_CONCEPT_Longhorn.md              ← verschoben
  logs/
    longhorn-nfs-pull-*.log                    ← verschoben
  scripts/
  status/
```

## Einzelschritte (diskstation-bot)

### Schritt 1 — ArgoCD Backup verschieben
```
mv /volume1/Backup_K3s_Longhorn/argocd/argocd-backup-20260622T220311Z.yaml \
   /volume1/KI_Agenten/backups/k3s-dmz/tenants/platform/prod/argocd/20260622T220311Z/
```
Danach `argocd-latest.status` aktualisieren (neuer Pfad).

### Schritt 2 — Docs und Logs verschieben
```
mv /volume1/Backup_K3s_Longhorn/docs/*.md \
   /volume1/KI_Agenten/backups/k3s-dmz/docs/

mv /volume1/Backup_K3s_Longhorn/logs/longhorn-nfs-pull-*.log \
   /volume1/KI_Agenten/backups/k3s-dmz/logs/
```

### Schritt 3 — Longhorn NFS Backupstore: SONDERFALL
`Backup_K3s_Longhorn/longhorn-staging-test/backupstore/` ist ein aktiver Longhorn NFS Backupstore.
Dieser Pfad ist in der Longhorn-Konfiguration als Backup-Target hinterlegt.

*Vor dem Verschieben muss:*
- Aktueller Longhorn Backup-Target geprüft werden (kube-bot prüft)
- Longhorn Backup-Target temporär deaktiviert oder auf neuen Pfad umgestellt werden
- Erst danach Verzeichnis verschieben, dann Longhorn auf neuen Pfad zeigen lassen

*Vorgeschlagener Zielpfad:*
```
/volume1/KI_Agenten/backups/k3s-dmz/longhorn-backupstore/
```
→ *Needs OK von Mislav vor Schritt 3* (Cluster-Änderung)

### Schritt 4 — `Backup_K3s_Longhorn` löschen
Erst wenn Schritte 1–3 vollständig abgeschlossen und verifiziert sind:
```
rm -rf /volume1/Backup_K3s_Longhorn
```
→ *Needs OK von Mislav vor Schritt 4*

## Ausstehende Abhängigkeiten

| # | Was | Blocker |
|---|-----|---------|
| A | K3s Controlplane Backup Pull | dmz-backup SSH noch nicht verfügbar |
| B | Longhorn NFS Backupstore Umzug | Longhorn Config-Änderung → OK von Mislav |
| C | Share löschen | erst nach A+B+Verification |

## Longhorn Backup-Target prüfen (kube-bot)
Wird separat ausgeführt, sobald Mislav OK für Schritt 3 gibt.
Kommando: `ssh kube-bot@192.168.20.40 'sudo kubectl --kubeconfig=/etc/rancher/k3s/k3s.yaml get backupsettings -n longhorn-system -o yaml'`

