diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..19c652d --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,14 @@ +--- +pipeline: + build: + image: git.petardo.dk/runejuhl/dockerfiles/buildah/stable:v1.28.0 + privileged: true + commands: + - |- + echo $${WOODPECKER_CI} | buildah login --username runejuhl --password-stdin git.petardo.dk + - |- + buildah build -f ./Dockerfile -t git.petardo.dk/runejuhl/grafana-webhook-to-matrix + - |- + buildah push git.petardo.dk/runejuhl/grafana-webhook-to-matrix + secrets: + - woodpecker_ci diff --git a/Dockerfile b/Dockerfile index f2386f6..32f3c5f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,6 @@ RUN pip --disable-pip-version-check install --no-cache-dir -r /requirements.txt # Set up app RUN mkdir -p /usr/src/app WORKDIR /usr/src/app -COPY grafana_webhook_to_matrix.py ./ # Set up user RUN mkdir -p /usr/src/app/home && \ @@ -32,4 +31,7 @@ ENV PYTHONFAULTHANDLER=1 USER 998 EXPOSE 8003 + +COPY grafana_webhook_to_matrix.py ./ + CMD ["python3", "grafana_webhook_to_matrix.py"] diff --git a/grafana_webhook_to_matrix.py b/grafana_webhook_to_matrix.py index ec9b0dc..7ba72df 100644 --- a/grafana_webhook_to_matrix.py +++ b/grafana_webhook_to_matrix.py @@ -3,15 +3,13 @@ from aiohttp import web from datetime import datetime import os - homeserver = os.environ['MATRIX_HOMESERVER'] access_token = os.environ['MATRIX_ACCESS_TOKEN'] room = os.environ['MATRIX_ROOM'] - - _last_timestamp = 0 _counter = 0 + def unique_number(): global _last_timestamp global _counter @@ -41,10 +39,10 @@ async def send_message(text): async def handle_alert(request): body = await request.json() - for alert in body['alerts']: - status = alert['status'] - name = alert['labels']['alertname'] - await send_message(f'[{status}] {name}') + title = body['title'] + status = body['status'] + print(body) + await send_message(f'[{status}] {title}') return web.Response(text='Ok') @@ -55,4 +53,5 @@ app.add_routes([ if __name__ == '__main__': - web.run_app(app, host='127.0.0.1', port=8003) + print('grafana_webhook_to_matrix.py starting') + web.run_app(app, host='0.0.0.0', port=8003)