a bot for ops in matrix. This bot catches webhooks and forwards them as messages to matrix rooms.
Find a file
2026-03-05 16:03:34 +01:00
.vscode Add gitlab webhook support 2022-12-01 13:47:27 +00:00
nix/modules/nixos port matrix-ops-bot to uv and nix flake module 2026-03-05 15:55:47 +01:00
ops_bot handle missing assumed role in aws alerts 2026-03-05 16:03:34 +01:00
templates/gitlab Add gitlab webhook support 2022-12-01 13:47:27 +00:00
tests Support aws.sts sns notifications 2025-01-31 16:52:25 +01:00
.envrc remove legacy gitlab and shell files 2026-03-05 16:01:33 +01:00
.flake8 First pass at implemenation with pagerduty webhooks 2022-07-22 12:23:04 +00:00
.gitignore remove legacy gitlab and shell files 2026-03-05 16:01:33 +01:00
.pre-commit-config.yaml Add Dockerfile 2022-07-22 12:53:34 +00:00
config.json.sample Refactor codebase to by DRY 2022-12-01 16:31:04 +00:00
flake.lock port matrix-ops-bot to uv and nix flake module 2026-03-05 15:55:47 +01:00
flake.nix port matrix-ops-bot to uv and nix flake module 2026-03-05 15:55:47 +01:00
LICENSE.md initial commit 2022-07-22 08:42:44 +00:00
Makefile port matrix-ops-bot to uv and nix flake module 2026-03-05 15:55:47 +01:00
pyproject.toml port matrix-ops-bot to uv and nix flake module 2026-03-05 15:55:47 +01:00
pytest.ini Add gitlab webhook support 2022-12-01 13:47:27 +00:00
README.md remove legacy gitlab and shell files 2026-03-05 16:01:33 +01:00
uv.lock port matrix-ops-bot to uv and nix flake module 2026-03-05 15:55:47 +01:00

matrix-ops-bot

a bot for ops in matrix

Repository: https://guardianproject.dev/ops/matrix-ops-bot

This bot catches webhooks and forwards them as messages to matrix rooms.

Current supported webhooks:

  • PagerDuty
  • AWS SNS
  • Gitlab
  • Prometheus Alertmanager

Usage

See config.json.sample for a sample config file.

Once you have a basic config (leave the routing_keys an empty list), you can easily add new webhooks with

$ uv run config add-hook --name my-hook-name --hook-type gitlab --room-id '!abcd1234:matrix.org'

Hook added successfully

Your webhook URL is:
        /hook/vLyPN5mqXnIGE-4o9IKJ3vsOMU1xYEKBW8r4WMvP
The secret token is:
        6neuYcncR2zaeQiEoawXdu6a4olsfH447tFetfvv

Note: Register your bot user manually. This program does not register a new user. You must also accept invitations to join the room automatically.

Dev Setup

uv sync --group dev
uv run start

License

matrix-ops-bot
Copyright (C) 2022 Abel Luck <abel@guardianproject.info>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

This project uses pieces of maubot/gitlab, which is also AGPL. These files have been noted with a comment header.