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§
- Circuit
Breaker Spec - Circuit-breaker tuning.
- Completeness
Claim - “For these column values, this fetch returns all the records” (#478).
- Connector
Spec - A
{ type, config }block, the universal shape for both sources and sinks. - Discover
Spec - A discovery dimension’s source + projection (#501). See
MatrixRow::discover. - DlqSpec
- DLQ configuration block under
pipeline.dlq:. - Edge
Spec - A topology edge (issue #71).
- Execution
Spec - Execution-time controls.
- Join
Side - One side of a
JoinSpec: the incoming edge label plus the dotted key path. - Join
Spec - The
join:node configuration (issue #72). - Matrix
Row - One row of the
matrix:block. - Observability
Spec - Top-level observability block: Prometheus scrape endpoint and tracing level.
- Otel
Spec - OTLP export block under
observability.otel:. - 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). - Poison
Spec - Poison-pill (per-row) policy.
- Prometheus
Spec - Configuration for the Prometheus metrics HTTP endpoint.
- Resilience
Spec - User-facing
resilience:config. Maps tofaucet_core::ResiliencePolicy. - Retry
Spec - Retry/backoff tuning.
- RunInputs
- Resolve load-time
${env:}/${file:}/${secret:}directives in a composed config document after parsing rather than on the raw text. - Selection
Spec - Matrix-row selection policy (#377). Currently a single knob:
include_parents. Extensible for future selection-model settings. - Sharding
Spec - Source-shard distribution settings for clustered (Mode B) execution.
- State
Store Spec - State-store backend selector.
- Tracing
Spec - Tracing / log-level configuration.
- Transform
Spec - A single transform declaration.
Enums§
- Backoff
Spec - Backoff growth shape (config spelling of
faucet_core::BackoffKind). - Include
Parents - Policy for pulling a selected row’s
parent:/depends_on:ancestors into the run set when they are not independently selected (#377). The only mechanism that decides ancestor inclusion. DefaultOff(strict). - Node
Spec - A single topology node (issue #71). The
kinddiscriminator selects the node type; the remaining fields are kind-specific. - 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.
- OnMissing
- Action for destination rows inside a completeness scope that a run did not write (#478).
- Poison
Action Spec - Terminal action for a poison row (config spelling of
faucet_core::PoisonAction). - Source
Status - Readiness ladder for a matrix row’s source (#371). A single ordered axis
answering “when does this row run?”. Default (when absent) is
Active.
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.