a bot for ops in matrix. This bot catches webhooks and forwards them as messages to matrix rooms.
Find a file
2022-11-30 16:05:39 +00:00
ops_bot Handle SNS cloudwatch alarm states with colors 2022-11-30 16:05:39 +00:00
tests Add SNS format 2022-11-30 15:21:09 +00:00
.dockerignore Add Dockerfile 2022-07-22 12:53:34 +00:00
.flake8 First pass at implemenation with pagerduty webhooks 2022-07-22 12:23:04 +00:00
.gitignore First pass at implemenation with pagerduty webhooks 2022-07-22 12:23:04 +00:00
.gitlab-ci.yml Attempt to speed up build time by pulling the old image 2022-11-30 15:57:52 +00:00
.pre-commit-config.yaml Add Dockerfile 2022-07-22 12:53:34 +00:00
.python-version First pass at implemenation with pagerduty webhooks 2022-07-22 12:23:04 +00:00
docker-compose.yml Add docker-compose docs 2022-07-22 14:12:14 +00:00
Dockerfile Freeze requirements 2022-11-30 15:44:56 +00:00
LICENSE.md initial commit 2022-07-22 08:42:44 +00:00
Makefile Freeze requirements 2022-11-30 15:44:56 +00:00
poetry.lock Add SNS format 2022-11-30 15:21:09 +00:00
pyproject.toml Add SNS format 2022-11-30 15:21:09 +00:00
README.md Add docker-compose docs 2022-07-22 14:12:14 +00:00
requirements.frozen.txt Freeze requirements 2022-11-30 15:44:56 +00:00
requirements.txt Add Dockerfile 2022-07-22 12:53:34 +00:00

matrix-ops-bot

a bot for ops in matrix

Current features:

  • Catch PagerDuty webhooks and forward them to a matrix room

Usage

Note: Register your bot user manually. This program does not register a new user.

docker build -t registry.gitlab.com/guardianproject-ops/matrix-ops-bot .

docker run --rm  \
--name ops-bot \
--volume /path/to/store:/data \
--env MATRIX_HOMESERVER=https://matrix.org \
--env MATRIX_USER_ID=@YOURBOT:matrix.org \
--env MATRIX_PASSWORD="changeme" \
--env MATRIX_DEVICE_NAME=my-bot-server \
--env BOT_ROUTING_KEYS="{\"room1\": \"!XXXX:matrix.org\", \"room2\": \"!YYYYY:matrix.org\"}" \
--env BOT_BEARER_TOKEN="changeme" \
registry.gitlab.com/guardianproject-ops/matrix-ops-bot

or docker-compose:

version: "3.8"
services:
  bot:
    image: registry.gitlab.com/guardianproject-ops/matrix-ops-bot:main
    environment:
      MATRIX_HOMESERVER: "https://matrix.org"
      MATRIX_USER_ID: "@YOURBOT:matrix.org"
      MATRIX_PASSWORD: "changeme"
      MATRIX_DEVICE_NAME: "my-bot-server"
      BOT_BEARER_TOKEN: "changeme"
      BOT_ROUTING_KEYS: >
        {"room1": "!XXXX:matrix.org", "room2": "!YYYYY:matrix.org"}
    user: "1000"
    ports: 
      - "0.0.0.0:1111:1111"
    volumes:
      - /home/admin/bot/data:/data:rw
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "3"

Dev Setup

.env:

MATRIX_HOMESERVER=https://matrix.org
MATRIX_USER_ID=@YOURBOT:matrix.org
MATRIX_PASSWORD="changeme"
MATRIX_DEVICE_NAME=my-bot-server
MATRIX_VERIFY_SSL=True
MATRIX_STORE_PATH=/abs/path/to/persistent-store
BOT_ROUTING_KEYS="{\"room1\": \"!XXXX:matrix.org\", \"room2\": \"!YYYYY:matrix.org\"}"
BOT_BEARER_TOKEN="changeme"
source .env
poetry install
poetry 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/>.