Expand description
Parsed pipeline.yaml / pipeline.json schema (matrix-aware).
Top-level shape:
version: 1
name: optional-human-name
pipeline: # required — full base config
source: { type, config }
sink: { type, config }
transforms: [...]
state: { type, config }
matrix: # optional — omitted or empty == one anonymous row
- id: <string>
parent: <id>
parent_key: <jsonpath> # default "id"
source: { ... } # partial override, deep-merged into pipeline.source
sink: { ... }
transforms: [...] # row-level transforms, appended after pipeline + source layers
state: { ... } # if Some, replaces pipeline.state wholesale
execution: # optional
max_concurrent: <usize>
on_error: continue|stopThe wire format is intentionally loose: every connector keeps its own
config schema, and the CLI threads a serde_json::Value through to the
connector’s serde::Deserialize impl. That keeps this struct stable as
new fields are added to individual connectors without needing CLI work.
Structs§
- Connector
Spec - A
{ type, config }block, the universal shape for both sources and sinks. - DlqSpec
- DLQ configuration block under
pipeline.dlq:. - Execution
Spec - Execution-time controls.
- Matrix
Row - One row of the
matrix:block. - Observability
Spec - Top-level observability block: Prometheus scrape endpoint and tracing level.
- Partial
Connector - A partial connector override carried by a matrix row. Both
typeandconfigare optional so rows can swap the kind, override only the inner config, or both.ref:(optional) picks which named template underpipeline.sources/pipeline.sinksthis row instantiates; when absent, the row inherits the legacy singularpipeline.source/pipeline.sink(registered internally as a template nameddefault). - Pipeline
Config - Top-level pipeline definition.
- Pipeline
Spec - The base pipeline definition. Each matrix row is resolved against the
template catalogs below; the singular
source/sinkfields are the legacy way to declare a single template (internally nameddefault). - Prometheus
Spec - Configuration for the Prometheus metrics HTTP endpoint.
- State
Store Spec - State-store backend selector.
- Tracing
Spec - Tracing / log-level configuration.
- Transform
Spec - A single transform declaration.
Enums§
- OnBatch
Error Spec - Mirrors
faucet_core::OnBatchErrorbut withJsonSchemaderived andDeserializeaccepting the YAML/JSON shape. Converted to the core type duringexecutor::build_dlq_config. - OnError
- Failure-handling policy across the matrix.
Functions§
- parse_
with_ extension - Convenience: parse a config from text using a synthetic path so the right
parser is selected. Used by tests and the
validate --stdinflow.