Skip to content

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.

FieldTypeDescription
urlstringTarget HTTP/HTTPS endpoint.
topics[]stringSubscribed event topics (or ["*"] for all).
secretstringHMAC-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 (includes error reason).
  • 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.

FieldTypeDescription
enabledboolEnables the MQTT publisher worker.
brokerstringBroker address (e.g. tcp://localhost:1883 or ssl://mqtt.company.local:8883).
usernamestringMQTT authentication username (optional).
passwordstringMQTT authentication password (optional).
topicstringBase 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"

Released under the MIT License.