Runner¶
The runner is configured via a YAML file (default: runner.yml). It defines the datasource, webhooks, and detectors for the application.
Structure¶
datasource:
type: <datasource_type>
# ... datasource-specific fields
webhooks:
<webhook_name>:
type: <webhook_type>
# ... webhook-specific fields
detectors:
<detector_key>:
name: "Display Name"
for: "5m"
description: "..."
tenant: "default"
active: true
rules:
- "path/to/rules/*.yml"
webhooks:
- <webhook_name>
data:
custom_key: value
datasource¶
Only one datasource is configured per runner. See the Datasources section for available types and their configuration.
webhooks¶
A map of named webhook configurations. Each webhook has a type and type-specific fields. See the Webhooks section for available types.
detectors¶
A map of detector configurations. Each key is an internal identifier for the detector.
Detector fields¶
| Field | Required | Default | Description |
|---|---|---|---|
name |
yes | — | Human-readable detector name |
for |
yes | — | Evaluation interval (e.g. 5m, 1h, 2d) |
description |
no | "" |
Detector description |
tenant |
no | "default" |
Tenant identifier, available in rule templates as {{ detector.tenant }} |
active |
no | true |
Enable or disable the detector |
rules |
yes | — | List of rule file paths or glob patterns |
webhooks |
no | [] |
List of webhook names to notify |
data |
no | {} |
Custom key/value data passed to rule templates as {{ detector.data }} |
Interval format¶
The for field accepts the following units:
| Unit | Suffix |
|---|---|
| Seconds | s |
| Minutes | m |
| Hours | h |
| Days | d |
| Weeks | w |
| Months | mo |
| Years | y |
Examples: 30s, 5m, 1h, 7d.
Full example¶
datasource:
type: clickhouse
host: 10.0.0.1
port: 8123
username: default
password: secret
database: soc
verify: false
webhooks:
http_sink:
type: generic
url: http://localhost:3000/alerts/create
headers:
X-Source: clickdetect
teams_channel:
type: teams
url: https://outlook.office.com/webhook/...
timeout: 10
detectors:
fast_checks:
name: "High-frequency checks"
for: "5m"
description: "Rules evaluated every 5 minutes"
tenant: "acme"
rules:
- "rules/auth/*.yml"
- "rules/network/*.yml"
webhooks:
- http_sink
- teams_channel
data:
environment: production