Expand description
§faucet-source-singer
A bridge source that runs an external Singer tap executable and adapts its message stream into faucet records — so any of the hundreds of existing Singer taps can feed a faucet pipeline.
Tier-2 / experimental. Using this source reintroduces a runtime dependency (usually Python) for that pipeline, throughput is Singer-class rather than faucet-class, and STATE-based resume granularity depends on the individual tap.
v0 is single-stream: exactly the stream named by
SingerSourceConfig::stream is emitted; RECORD messages for other streams
are ignored.
Re-exports§
pub use config::MalformedPolicy;pub use config::SingerSourceConfig;pub use discover::StreamSelection;pub use discover::catalog_stream_ids;pub use discover::discover;pub use discover::select_streams;pub use message::SingerMessage;pub use message::parse_line;pub use stream::SingerSource;
Modules§
- assemble
- Pure page-assembly state machine.
- config
- Configuration types for the Singer tap bridge source.
- discover
- Singer catalog discovery: run
<tap> --config <tmp> --discoverand return the catalog it prints. Used byfaucet init --source singer --discover. - message
- Singer message model + line parser.
- process
- Tap subprocess runner: spawn, stream stdout as parsed messages over a
bounded channel (backpressure), drain stderr into
tracing, and always reap the child (SIGTERM → grace → SIGKILL on the paths we control;kill_on_dropis the backstop for an abrupt drop/cancel). - stream
SingerSource— theSourceimplementation that bridges a Singer tap.
Enums§
- Faucet
Error - All possible errors returned by faucet-stream.