1.2 KiB
1.2 KiB
PAT-011 — PVE Webhook Notifications Pipeline Repair
Trigger: PVE notifications (esp. vzdump) reach Telegram not / test returns 500.
Signature diagnosis ladder:
pvesh create /cluster/notifications/targets/<name>/test— error taxonomy:Connection refused→ transport/down (check URL target alive)failed to render webhook body→ template broken (syntax/base64)http status: 400→ bridge rejected payload (escaping!)
- Listener-Sweep über VLAN:
for ip in .xx…; do /dev/tcp/$ip/port probe; done - Byte-Level-Truth via temp mini-sniffer (redirect URL, capture, restore!).
Hard rules:
- Mutations an
/etc/pve/notifications.cfgNUR viapvesh set(hand-edits poison global deserialization!). Vorher Snapshot. body/header-values/secrets = base64 blobs:printf '%s' tpl | base64 -w0.- Handlebars helpers:
{{escape title}}(Space!), NICHT{{escape:title}}. - Immer
{{escape title}}/{{escape message}}verwenden — rohe Interpolation bricht bei Apostrophen/Multiline (Backup-Reports!). - Sniffer-Redirect URL IMMER restaurieren.
Reference: docs/solutions/bug-fixes/2026-09-30-pve-webhook-notifications-drift-base64-escape.md