• Go 94.8%
  • Dockerfile 5.2%
Find a file
2024-03-17 16:47:11 +05:30
dev shoutrrr example json 2024-01-30 13:03:20 +05:30
parser fix link rendering with slack parser 2024-03-17 16:47:11 +05:30
.gitignore remove release builder 2024-01-30 13:03:48 +05:30
Dockerfile rewritten dockerfile 2024-01-30 13:04:09 +05:30
go.mod add muc support; use newer mellium; add shoutrrr template 2024-01-30 12:34:03 +05:30
go.sum add muc support; use newer mellium; add shoutrrr template 2024-01-30 12:34:03 +05:30
handler.go refactored slack parser / reorganized parser functions 2020-01-06 18:18:24 +01:00
LICENSE Updates README / Fixes some typos / Update to go 1.15 2021-02-28 10:43:41 +01:00
main.go gofmt 2024-01-30 12:53:55 +05:30
README.md update docker cmds in readme 2024-01-30 13:13:40 +05:30
THIRD-PARTY-NOTICES Updates THIRD-PARTY-NOTICES 2019-11-04 21:16:19 +01:00
xmpp-webhook.service adds systemd service file 2017-09-26 15:10:33 +02:00

xmpp-webhook

Status

xmpp-webhook currently support:

  • Grafana Webhook alerts
  • Alertmanager Webhooks
  • Slack Incoming Webhooks (Feedback appreciated)
  • Shoutrrr Alerts

Check https://codeberg.org/aryak/xmpp-webhook/blob/master/parser/ to learn how to support more source services.

Usage

  • xmpp-webhook is configured via environment variables:
    • XMPP_ID - The JID we want to use
    • XMPP_PASS - The password
    • XMPP_RECIPIENTS - Comma-separated list of JID's
    • XMPP_MUC_RECIPIENTS - Comma-separated list of MUCs to send messages to (these MUCs also need to be in XMPP_RECIPIENTS)
    • XMPP_WEBHOOK_LISTEN_ADDRESS - Bind address (Optional)
  • After startup, xmpp-webhook tries to connect to the XMPP server and provides the implemented HTTP enpoints. e.g.:
curl -X POST -d @dev/grafana-webhook-alert-example.json localhost:4321/grafana
curl -X POST -d @dev/alertmanager-example.json localhost:4321/alertmanager
curl -X POST -d @dev/slack-compatible-notification-example.json localhost:4321/slack
curl -X POST -d @dev/shoutrrr-example.json localhost:4321/shoutrrr
  • After parsing the body in the appropriate parserFunc, the notification is then distributed to the configured recipients.

Run with Docker

Build it

Use prebuilt image from Docker Hub