Expand description
Subcommand implementations. Each module owns its run(...) entry point
and stays free of clap so the integration tests can drive it directly.
Modules§
- catalog
catalog faucet catalog— browse the Data Movement Catalog (#279) accumulated by a config’scatalog:store: datasets, schema timelines, volume/freshness, and the lineage graph. Read-only; the same storefaucet run/schedule/replicatewrite into (pointfaucet serve --historyat the same URL to browse it in the control plane / web console instead).- contract
contract faucet contract— validate a config’scontract:block and print a human summary, or export it in a machine-readable format (--export contract | json-schema | openlineage). Offline-safe: secrets are never fetched (a contract holds no credentials).- dlq
faucet dlq— inspect / replay / discard dead-letter-queue envelopes.- doctor
faucet doctor— preflight probes for every connector in a config (#126).- init
faucet init— scaffold a starterpipeline.yamlfrom each connector’s JSON Schema. Defaults to arest→jsonlpipeline sofaucet initwith no flags continues to produce the same shape it did before this command grew schema-driven scaffolding.- list
faucet list— show every compiled-in source, sink, transform, and state-store backend so users can discover what their binary supports.- masking
masking faucet masking— validate a config’smasking:block and print which rules apply to each destination sink (the destination-scoping check). Offline-safe: secrets are never fetched (compiling a policy needs no credentials, and the key is not required to list rules).- notify
notify faucet notify test— fire one synthetic event through a config’snotifications:rules to validate channel setup end-to-end (no pipeline runs). Uses the real delivery path, so a Slack/PagerDuty/webhook that is reachable will actually receive the test message.- preview
faucet preview— run only the source side of the first root row and emit the first N records to stdout as JSON Lines.- replicate
faucet replicate— load a config with areplication:block, validate it, and run the two-phase snapshot→CDC orchestration.- run
faucet run— load a pipeline config, expand the matrix, execute every invocation under bounded concurrency.- schedule
schedule faucet schedule— run a pipeline on a cron schedule in one long-running process. Reusesexpand+executor::run_expandedper tick; keeps no state of its own (resumability rides the pipeline’s per-page bookmark). Seedocs/superpowers/specs/2026-05-30-faucet-schedule-design.md.- schema
faucet schema— print the JSON Schema for a connector’s config.- serve
serve faucet serve— thin command layer: parse args into aServeConfig, load the startup.env, and hand off toserve::run_server.- test
faucet test— run fixture-based offline pipeline tests (#210).- validate
faucet validate— parse + expand a pipeline config without running.