Skip to main content

Alerting engine built on Kontiki.

Project description


Overview

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

The pipeline stays stable because both ends speak shared contracts (boomerang-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.


Quickstart — earthquake → Telegram

The demo stack polls USGS, normalizes quakes, and notifies a Telegram chat.

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. Start the demo:

make stack-up-demo

3. Target a chat — subscription excerpt (operator config):

# stack/subscription.yaml (excerpt)
app:
  subscriptions:
    demo:
      earthquakes:
        status: active
        subscription:
          rule:
            category: natural.earthquake
            event_type: earthquake
            criteria:
              all_of:
                - key: area_value
                  operator: eq
                  value: DEMO-EARTHQUAKE-1
          endpoints:
            - telegram.alerts
# stack/notifiers/telegram.yaml (excerpt)
app:
  endpoints:
    alerts:
      chat_id: "YOUR_CHAT_ID"

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kontiki_boomerang-0.1.0.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kontiki_boomerang-0.1.0-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file kontiki_boomerang-0.1.0.tar.gz.

File metadata

  • Download URL: kontiki_boomerang-0.1.0.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.7 Linux/6.8.0-124-generic

File hashes

Hashes for kontiki_boomerang-0.1.0.tar.gz
Algorithm Hash digest
SHA256 02fb71c4a2cdcbd4328953b6a995b89c03017cf895343cc91facbd6c979cd9b7
MD5 74752112169204c3c9b3322f574d98bd
BLAKE2b-256 1b0a6339df46ba48c3ce603568702cbbaa3723ba6d5f791f28651be68337cf63

See more details on using hashes here.

File details

Details for the file kontiki_boomerang-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kontiki_boomerang-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.7 Linux/6.8.0-124-generic

File hashes

Hashes for kontiki_boomerang-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b01fe3dfc6a563264cdd08aed81c50c446161143e391a9b04dd4350bd73afe26
MD5 a29b118316f045365cab3db3ab9fc54a
BLAKE2b-256 b50903b8322aa428f84f928839923e22a2ff2844aa84ff961bb9d359f03010ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page