feat(gotify): bridge Grafana alerts into Gotify #75

Merged
rock merged 1 commits from feat/grafana-gotify-bridge into main 2026-10-27 19:37:05 +00:00
Member

Gotify rejects Grafana JSON (400, message required). Add a stdlib Python translator plus a SOPS app token.

Gotify rejects Grafana JSON (400, message required). Add a stdlib Python translator plus a SOPS app token.
poimen added 1 commit 2026-10-27 19:36:14 +00:00
Gotify rejects a Grafana payload with 400 "Field 'message' is required", so a
translation step is mandatory. This adds a small standard-library Python
service: it accepts Grafana's JSON, builds a Gotify message, and posts it with an
app token.

Mapping:
  firing   -> priority 8, title "[FIRING] <alertname>"
  resolved -> priority 3, title "[RESOLVED] <alertname>"
  body     -> the summary annotation plus severity, namespace, pod, instance, job
A multi-alert notification names the alert count instead of dropping the rest.

The script ships as a ConfigMap so no image build is needed. The app token comes
from a SOPS secret and belongs to Gotify application `grafana`.
rock merged commit 50a751de44 into main 2026-10-27 19:37:05 +00:00
Sign in to join this conversation.