Add ntfy wrapper for restore jobs
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user