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.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 (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.1

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.1
File Size Uploaded
kontiki_boomerang-2.1.1.tar.gz 28.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kontiki-boomerang 2.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files

2.1.0

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