Skip to main content

Overview

Boomerang is an alerting engine built on Kontiki. Producers publish alerts; the core matches YAML subscriptions; notifiers deliver (email, Telegram, …).

2.1.0 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 (AMQP alert.normalized or POST /alerts) — no change to the engine.
  • Downstream: add a notifier that consumes {channel}.alerting.notification.requested and exposes a channel catalogue — same targeting model.
  • Middle: who gets notified is declared in YAML (app.subscriptions + notifier app.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:

Telegram notification from Boomerang earthquake demo

Stop the stack:

make stack-down

Details (pipeline, HTTP ingest, catalogues, contracts): docs/features.md.


Documentation

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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kontiki-boomerang 2.1.0
File Size Uploaded
kontiki_boomerang-2.1.0.tar.gz 28.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kontiki-boomerang 2.1.0
File Interpreter ABI Platform
kontiki_boomerang-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.8 kB

Release files / kontiki_boomerang-2.1.0.tar.gz

Download URL kontiki_boomerang-2.1.0.tar.gz
Size 28.0 kB
Tags Source
SHA-256 checksum
How to use checksums
482de48a2b29376bbb94c243cb17f71f08ce9e39a1899f7efcdfb9841e23b208
BLAKE2b-256 checksum
How to use checksums
7cfcb19bf17d16087401568600fa7c514346dcc2dcaf4659e228b34a4c95b9e3
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.0-py3-none-any.whl

Download URL kontiki_boomerang-2.1.0-py3-none-any.whl
Size 50.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d1574b919865a72aeb6ddb7c7a76402550102535e1937adddabaf8798686204
BLAKE2b-256 checksum
How to use checksums
cdf90fe68cde9e65197f37025ae55e86339257854fb0cb950a4aa92c23805adc
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 history Release notifications | RSS feed

2.1.1

2 release files

This release

2.1.0 This release

2 release files

2.0.0

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page