Available on crate feature
catalog only.Expand description
Data Movement Catalog (#279) — the CLI-side write path.
The catalog accumulates, run over run, the operational history of every
dataset a pipeline touches: identity, a deduplicated schema timeline,
volume/freshness stats, and lineage edges. Storage rides the serve
run-history backends (crate::serve::history); this module is the glue
the executor calls after every successful root invocation:
spec— the top-levelcatalog:config block (faucet schema catalog).model— pure URI canonicalization + sample-schema inference.CatalogHandle/connect_from_spec— the store handle carried onExecuteOptions(serve passes its own history backend; the CLI runtimes connect from thecatalog:block).record— the never-fails-the-run write (mirrors the SLA / lineage “log-and-continue” contract).
Gated on the catalog Cargo feature (implies serve for the storage
backends and lineage for record sampling + column-lineage derivation).
Re-exports§
pub use spec::CatalogSpec;
Modules§
- model
- Pure helpers for building catalog observations (#279): dataset-URI
canonicalization (fold
${now.*}-derived segments back to their tokens, redact credentials) and schema inference over the run’s record samples. - snapshot
- Config-change preview (#374): build a redacted snapshot of the resolved + expanded config, and diff the current config against the last recorded one.
- spec
- Serde config types for the top-level
catalog:block (#279).
Structs§
- Catalog
Handle - The catalog store handle carried on
ExecuteOptions. Cheaply cloneable.
Constants§
- DEFAULT_
SAMPLE_ RECORDS - Default per-side schema-inference sample cap when no
catalog:block set one (the serve write path, which has no block).
Functions§
- connect_
from_ spec - Build a catalog store from the
catalog:block. Errors are config-level (bad scheme / missing build feature) and fail fast at load time; an unreachable SQL backend degrades to in-memory viaFallbackHistory(logged, run unaffected) exactly likefaucet serve --history. - record
- Persist one run’s catalog update. Monitoring must never take down the run it observes: any backend error is logged once per call and swallowed.
- record_
config_ snapshot - Persist the latest resolved+expanded config snapshot for
faucet plan --diff(#374). Best-effort, same never-fails-the-run contract asrecord.