Events Configuration
RUSEON Core publishes asynchronous system notifications and AI telemetry via HTTP Webhooks and MQTT. This is configured in the events section of config.yaml.
Webhooks
Webhooks allow RUSEON Core to send HTTP POST requests with JSON payloads when system events occur.
| Field | Type | Description |
|---|---|---|
url | string | Target HTTP/HTTPS endpoint. |
topics | []string | Subscribed event topics (or ["*"] for all). |
secret | string | HMAC-SHA256 secret key for signing requests via the X-Signature header. |
Supported Event Topics
camera_online: Emitted when an RTSP stream connects and starts receiving video frames.camera_offline: Emitted when an RTSP stream disconnects (includeserrorreason).archive_segment_ready: Emitted when a 1-hour or stopping fMP4 segment is finalized.recording_failed: Emitted on disk write I/O errors.storage_warning: Emitted when disk capacity exceeds 90%.
Webhook Example
yaml
events:
webhooks:
- url: "https://vms.company.local/api/hooks"
topics:
- "camera_online"
- "camera_offline"
- "archive_segment_ready"
- "recording_failed"
- "storage_warning"
secret: "super-secret-hmac-key"MQTT
RUSEON Core streams real-time AI metadata and telemetry to MQTT brokers using an asynchronous non-blocking lock-free queue.
| Field | Type | Description |
|---|---|---|
enabled | bool | Enables the MQTT publisher worker. |
broker | string | Broker address (e.g. tcp://localhost:1883 or ssl://mqtt.company.local:8883). |
username | string | MQTT authentication username (optional). |
password | string | MQTT authentication password (optional). |
topic | string | Base publish topic (e.g. ruseon/metadata). |
MQTT Example
yaml
events:
mqtt:
enabled: true
broker: "tcp://localhost:1883"
username: "ruseon_publisher"
password: "mqtt_password_123"
topic: "ruseon/metadata"