mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-08-30 03:39:40 +02:00
- Update Next.js build IDs and chunk hashes in workflow upload static files - Replace deprecated 'input' field syntax with new exports-style variables in event triggers (e.g., 'Target: event_data.value' instead of type/field/name) - Simplify parameter override syntax in test workflows (remove nested 'default' structure)
2.2 KiB
2.2 KiB
Event Workflow Examples
This folder contains sample workflows demonstrating the event trigger and generation system.
Workflows
Emitters (Event Generators)
| File | Description |
|---|---|
simple-emitter.yaml |
Basic event emission with generate_event and generate_event_from_file |
vuln-emitter.yaml |
Simulates a vulnerability scanner emitting structured finding events |
Receivers (Event Triggers)
| File | Description |
|---|---|
simple-receiver.yaml |
Basic event trigger that listens for discovery events |
filtered-receiver.yaml |
Advanced filtering with severity checks and jq extraction |
dedupe-receiver.yaml |
Event deduplication to prevent duplicate processing |
Event Functions
generate_event(workspace, topic, source, data_type, data)
Emit a single event with optional structured data. The workspace parameter identifies the target space for the event.
- type: function
function: |
generate_event("{{TargetSpace}}", "discovery.asset", "my-scanner", "subdomain", "api.example.com")
generate_event_from_file(workspace, topic, source, data_type, file_path)
Emit one event per line from a file. Returns the count of events emitted.
- type: function
functions:
- 'generate_event_from_file("{{TargetSpace}}", "discovery.asset", "my-scanner", "subdomain", "{{Output}}/subdomains.txt")'
Trigger Configuration
Basic Event Trigger
triggers:
- name: on-new-asset
on: event
event:
topic: "discovery.asset"
enabled: true
Filtered Event Trigger
triggers:
- name: on-high-severity
on: event
event:
topic: "scan.finding"
filters:
- "event.data.severity == 'high'"
- "event.data.confirmed == true"
enabled: true
Deduplicated Event Trigger
triggers:
- name: on-url-dedupe
on: event
event:
topic: "crawler.url"
dedupe_key: "{{event.data.url}}"
dedupe_window: "5m"
enabled: true
Running Examples
# Run the emitter to generate events
osmedeus run -m simple-emitter -t example.com
# The receiver will automatically process events if registered with the scheduler
osmedeus run -m simple-receiver -t example.com