a bot for ops in matrix. This bot catches webhooks and forwards them as messages to matrix rooms.
| .vscode | ||
| nix/modules/nixos | ||
| ops_bot | ||
| templates/gitlab | ||
| tests | ||
| .flake8 | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .pre-commit-config.yaml | ||
| config.json.sample | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE.md | ||
| Makefile | ||
| pyproject.toml | ||
| pytest.ini | ||
| README.md | ||
| shell.nix | ||
| uv.lock | ||
matrix-ops-bot
a bot for ops in matrix
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.