Skip to main content

Crate faucet_source_singer

Crate faucet_source_singer 

Source
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> --discover and return the catalog it prints. Used by faucet 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_drop is the backstop for an abrupt drop/cancel).
stream
SingerSource — the Source implementation that bridges a Singer tap.

Enums§

FaucetError
All possible errors returned by faucet-stream.

Traits§

Sink
A sink writes records to an external system.
Source
A source fetches records from an external system.