Skip to content

Persistent watches. Durable alerts.

Ding watches an HTTP endpoint, runs an explicit local check, or accepts JSON from your software. It keeps condition state, records why an event happened, and retries notifications through a durable outbox. The Go daemon runs on your infrastructure.

Create your first watch Choose an installation

Start with a question

You want to… Start here
See a firing and recovery without an external service First watch
Watch an API for repeated failures HTTP monitoring
Notice a missing heartbeat Missing data
Run a trusted local check Command sources
Understand why an alert happened Investigate an event
Operate a persistent daemon Operating Ding
Use the forthcoming interface Console availability
Keep or migrate an old installation Legacy v0.14.0

One watch, four connected stages

Observe → evaluate → record → deliver. A source supplies an observation. The daemon evaluates the condition, commits state and evidence to SQLite, and records delivery work in the same transaction. Notification workers retry that committed work across restarts.

A running watch, an open incident, a source error, and a failed delivery are separate facts. Learn the state model before interpreting a status or changing a watch.

For people and agents

Use versioned YAML and the CLI/API today. An agent can help author and inspect the same declaration; the daemon does not call a model on each check. Consumer data such as flights or sports needs an actual provider feed and credentials.

Ding is self-hosted and Apache-2.0 licensed. Ding Console is being implemented as an interface bundled with the daemon.