Overview
Boomerang is an alerting engine built on Kontiki. Producers publish alerts; the core matches YAML subscriptions; notifiers deliver (email, Telegram, …).
2.1.1 runs on Kontiki 2 (JSON AMQP, RabbitMQ ≥ 4.3).
Subscriptions are a map of rule id to category, optional event_type and criteria, and endpoints.
NotificationRequest carries channel, endpoint_key, and message
(boomerang-contracts 2.0.0). Both ends speak shared contracts:
Producers ──► NormalizedAlert ──► subscription + alert-engine ──► NotificationRequest ──► Notifiers
- Upstream: add a producer that emits
NormalizedAlert(AMQPalert.normalizedorPOST /alerts) — no change to the engine. - Downstream: add a notifier that consumes
{channel}.alerting.notification.requestedand exposes a channel catalogue — same targeting model. - Middle: who gets notified is declared in YAML (
app.subscriptions+ notifierapp.endpoints).
More detail: docs/features.md · docs/contracts.md · docs/configuration.md.
Install
Run the platform (CLI entrypoints):
pip install kontiki-boomerang
# boomerang-subscription, boomerang-alert-engine,
# boomerang-email-notifier, boomerang-telegram-notifier, …
Extend Boomerang (producers / notifiers — contracts only):
pip install boomerang-contracts
The quickstart below uses Docker Compose instead of a local pip install.
Quickstart — earthquake → Telegram / MailHog
The demo stack polls USGS, normalizes quakes, and notifies Telegram plus email
(MailHog). Targeting lives in stack/subscription.demo.yaml
(magnitude >= 2 → telegram.alerts and email.inbox).
1. Bot token (once):
cp stack/notifiers/telegram_bot_token.yaml.example \
stack/notifiers/telegram_bot_token.yaml
# set app.telegram.bot_token from BotFather
2. Telegram chat in stack/notifiers/telegram.yaml:
app:
endpoints:
alerts:
chat_id: "YOUR_CHAT_ID"
3. Start the demo:
make stack-up-demo
Email copies land in MailHog (http://127.0.0.1:8025). When a matching quake arrives, Telegram looks like this:
Stop the stack:
make stack-down
Details (pipeline, HTTP ingest, catalogues, contracts): docs/features.md.
Documentation
- Index:
docs/README.md - Features:
docs/features.md - Contracts:
docs/contracts.md - Configuration:
docs/configuration.md·docs/boomerang-config.example.yaml - Stack config:
stack/ - Contributing:
CONTRIBUTING.md - License:
LICENSE(Apache-2.0)
| Service | README |
|---|---|
| Subscription | boomerang/services/subscription/README.md |
| Alert engine | boomerang/services/alert_engine/README.md |
| Email notifier | boomerang/services/notifiers/email/README.md |
| Telegram notifier | boomerang/services/notifiers/telegram/README.md |
| Earthquake feed (demo) | boomerang/services/alert_services/earthquake/README.md |
Metadata
Release files for kontiki-boomerang 2.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kontiki_boomerang-2.1.1.tar.gz | 28.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kontiki_boomerang-2.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.1 kB
Release files / kontiki_boomerang-2.1.1.tar.gz
| Download URL | kontiki_boomerang-2.1.1.tar.gz |
|---|---|
| Size | 28.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa71dec85d978c63f4f005723179e291b02fef3d62451c6ee87b03d41ad31c93
|
|
BLAKE2b-256 checksum How to use checksums |
aaacb1e6110a7a13586db741fe7be5d754fb41e5fd56746df56233c00c5fb374
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.7 Linux/6.8.0-142-generic
|
Release files / kontiki_boomerang-2.1.1-py3-none-any.whl
| Download URL | kontiki_boomerang-2.1.1-py3-none-any.whl |
|---|---|
| Size | 51.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
201e5cdd222bae035fa86dc260d1ce11977c19a9ec202000ef001e850cd16b47
|
|
BLAKE2b-256 checksum How to use checksums |
231b860a3c2fa173f5564b22e7f8bb64ac22e6bdfe94a2576866f7adb83e1d59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.7 Linux/6.8.0-142-generic
|