https://github.com/eslupmi/impulse
ChatOps Incident Management Platform
https://github.com/eslupmi/impulse
alerting alertmanager alerts incident mattermost oncall prometheus slack telegram
Last synced: 4 months ago
JSON representation
ChatOps Incident Management Platform
- Host: GitHub
- URL: https://github.com/eslupmi/impulse
- Owner: eslupmi
- License: gpl-3.0
- Created: 2024-06-01T15:02:50.000Z (about 2 years ago)
- Default Branch: develop
- Last Pushed: 2026-02-16T21:08:41.000Z (4 months ago)
- Last Synced: 2026-02-17T02:09:52.402Z (4 months ago)
- Topics: alerting, alertmanager, alerts, incident, mattermost, oncall, prometheus, slack, telegram
- Language: Python
- Homepage: https://docs.impulse.bot
- Size: 1.29 MB
- Stars: 83
- Watchers: 4
- Forks: 6
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
IMPulse
[](https://github.com/eslupmi/impulse/releases)
[](https://ghcr.io/eslupmi/impulse)
[](https://artifacthub.io/packages/helm/impulse/impulse)
[](https://sonarcloud.io/dashboard?id=eslupmi_impulse)
Visit [docs.impulse.bot](https://docs.impulse.bot) for the full documentation.
## Features
- Mattermost, Slack, Telegram integrations
- Jira integration
- [Freeze](https://docs.impulse.bot/latest/buttons/#freeze) mechanism to pause incident update and silence
- Powerful [webhooks](https://docs.impulse.bot/stable/config_file/#webhooks) for Twilio, Instatus and other third-party integrations
- [Incident lifecycle](https://docs.impulse.bot/stable/concepts/#lifecycle) reduces incidents chaos
- Scheduling using providers like Google Calendar via [cloud chains](https://docs.impulse.bot/stable/config_file/#cloud-chain)
- Support for [nested chains](https://docs.impulse.bot/stable/config_file/#nested-chain) with unlimited depth
- Flexible [message structure](https://docs.impulse.bot/stable/concepts/#structure) you can modify
- Customizable [UI](https://docs.impulse.bot/stable/ui) with multi-column sorting and advanced filtering capabilities
## Quick Start
Run without messenger integration:
```bash
# Prepare "impulse" directory
git clone https://github.com/eslupmi/impulse.git impulse.bak
mkdir -p impulse/config impulse/data
cp impulse.bak/examples/docker-compose.yml impulse/docker-compose.yml
cp impulse.bak/examples/impulse.none.yml impulse/config/impulse.yml
rm -rf impulse.bak
# Replace "" with the latest stable Docker tag
tag=$(git ls-remote --tags https://github.com/eslupmi/impulse.git | awk -F/ '{print $NF}' | tail -n1)
sed -i "s||$tag|" impulse/docker-compose.yml
# Run IMPulse without messenger integration
cd impulse
docker compose up
```
Now IMPulse is available at http://localhost:5000/.
You can try to send a test alert with:
```bash
curl -XPOST -H "Content-Type: application/json" http://localhost:5000/ -d '{"receiver":"webhook-alerts","status":"firing","alerts":[{"status":"firing","labels":{"alertname":"InstanceDown4","instance":"localhost:9100","job":"node","severity":"warning"},"annotations":{"summary":"Instanceunavailable"},"startsAt":"2024-07-28T19:26:43.604Z","endsAt":"0001-01-01T00:00:00Z","generatorURL":"http://eva:9090/graph?g0.expr=up+%3D%3D+0&g0.tab=1","fingerprint":"a7ddb1de342424cb"}],"groupLabels":{"alertname":"InstanceDown"},"commonLabels":{"alertname":"InstanceDown","instance":"localhost:9100","job":"node","severity":"warning"},"commonAnnotations":{"summary":"Instanceunavailable"},"externalURL":"http://eva:9093","version":"4","groupKey":"{}:{alertname=\"InstanceDown\"}","truncatedAlerts":0}'
```
See [documentation](https://docs.impulse.bot) and the Slack [example](https://github.com/eslupmi/impulse/blob/develop/examples/impulse.slack.yml) to configure IMPulse for your messenger.