Expand description
Dynamic source resolution for Sigma pipelines.
This module provides the SourceResolver trait and a DefaultSourceResolver
implementation that fetches data from file, command, HTTP, and NATS sources
declared in a pipeline’s sources section.
Re-exports§
pub use cache::SourceCache;pub use template::TemplateExpander;
Modules§
- cache
- Source resolution cache with in-memory and optional SQLite persistence.
- command
- Command source resolver: runs a local command and captures stdout.
- extract
- Expression-based data extraction for dynamic sources.
- file
- File source resolver: reads data from local files.
- http
- HTTP source resolver: fetches data from HTTP endpoints.
- include
- Include expansion for dynamic pipelines.
- refresh
- Background refresh scheduler for dynamic pipeline sources.
- template
- Template expansion for dynamic pipeline sources.
Structs§
- Default
Source Resolver - Default source resolver that dispatches to file, command, and HTTP resolvers.
- Resolved
Value - The result of successfully resolving a dynamic source.
- Source
Error - An error that occurred while resolving a dynamic source.
Enums§
- Source
Error Kind - The kind of error that occurred during source resolution.
Constants§
- MAX_
SOURCE_ RESPONSE_ BYTES - Maximum size of a source response body (HTTP, command stdout, NATS payload).
- MIN_
REFRESH_ INTERVAL - Minimum allowed refresh interval to prevent hot CPU loops.
Traits§
- Source
Resolver - Trait for resolving dynamic pipeline sources.
Functions§
- resolve_
all - Resolve all sources in a pipeline, returning a map of source_id -> resolved data.
- resolve_
all_ with_ state - Like
resolve_allbut also updates a [PipelineState] with source resolution status. - yaml_
value_ to_ json - Convert a
yaml_serde::Valueto aserde_json::Value.