Add ntfy wrapper for restore jobs

This commit is contained in:
2026-05-07 11:26:15 +02:00
parent 7ff7284f6b
commit 008ab9bc4a
5 changed files with 64 additions and 8 deletions
+6
View File
@@ -190,6 +190,12 @@ bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh gitea
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh paperless
```
### Optional mit `ntfy`
```bash
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-job-with-ntfy.sh freshness homelab-restore
```
---
## 11. Naechste Ausbaustufen
+7
View File
@@ -41,6 +41,13 @@ Die bereits validierten Restore-Tests fuer `vaultwarden`, `gitea` und `paperless
- optional Hermes-Zusammenfassung ueber vorhandene Reports
- spaeter Job-Metadaten, Rotation und Sammel-Reports weiter ausbauen
### `ntfy`-Muster
- Script: `run-restore-job-with-ntfy.sh`
- Hilfsskript: `send-ntfy.sh`
- nur kurze Erfolg/Fehler-Meldung
- eigentlicher Detailnachweis bleibt die Markdown-Reportdatei
## Host-Integration
Empfohlen:
@@ -0,0 +1,23 @@
#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
MODE="${1:-}"
TOPIC="${2:-homelab-restore}"
if [ -z "$MODE" ]; then
echo "Usage: $0 <freshness|vaultwarden|gitea|paperless> [topic]" >&2
exit 1
fi
REPORT_ROOT="/mnt/user/backups/restore-reports"
REPORT_FILE="$REPORT_ROOT/${MODE}-$(date +%F).md"
mkdir -p "$REPORT_ROOT"
if "$SCRIPT_DIR/run-restore-checks.sh" "$MODE" > "$REPORT_FILE"; then
"$SCRIPT_DIR/send-ntfy.sh" "$TOPIC" "Restore job ok: $MODE" "Restore job succeeded. Report: $REPORT_FILE" default || true
else
"$SCRIPT_DIR/send-ntfy.sh" "$TOPIC" "Restore job failed: $MODE" "Restore job failed. Report: $REPORT_FILE" high || true
exit 1
fi
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
set -euo pipefail
TOPIC="${1:-}"
TITLE="${2:-}"
MESSAGE="${3:-}"
PRIORITY="${4:-default}"
if [ -z "$TOPIC" ] || [ -z "$TITLE" ] || [ -z "$MESSAGE" ]; then
echo "Usage: $0 <topic> <title> <message> [priority]" >&2
exit 1
fi
NTFY_URL="${NTFY_URL:-https://ntfy.kaleschke.info}"
curl -fsS \
-H "Title: $TITLE" \
-H "Priority: $PRIORITY" \
-d "$MESSAGE" \
"$NTFY_URL/$TOPIC" >/dev/null
+8 -8
View File
@@ -76,7 +76,7 @@ bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh paperles
- die Bash-Jobs wurden am 2026-05-07 hostseitig erfolgreich verifiziert
- `freshness`, `vaultwarden`, `gitea` und `paperless` laufen damit prinzipiell automatisch
- `ntfy` kommt erst als naechster Ausbau
- `ntfy` kann jetzt optional per Wrapper-Skript ergaenzt werden
## V2 Zielbild
@@ -91,16 +91,16 @@ Als naechster Ausbau kommen dazu:
## Optionales `ntfy` Wrapper-Muster
Wenn `ntfy` spaeter dazukommt, soll der Host-Job nur Erfolg/Fehler referenzieren, nicht den ganzen Report in die Nachricht kippen.
Wenn `ntfy` genutzt wird, soll der Host-Job nur Erfolg/Fehler referenzieren, nicht den ganzen Report in die Nachricht kippen.
Beispiel:
```bash
#!/bin/bash
REPORT="/mnt/user/backups/restore-reports/freshness-$(date +%F).md"
if bash /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.sh freshness > "$REPORT"; then
echo "Restore freshness check ok: $REPORT"
else
echo "Restore freshness check failed: $REPORT"
fi
bash /mnt/user/services/homelab/ops/restore-tests/run-restore-job-with-ntfy.sh freshness homelab-restore
```
Verwendete Hilfsskripte:
- `ops/restore-tests/send-ntfy.sh`
- `ops/restore-tests/run-restore-job-with-ntfy.sh`