Expand description
§faucet-sink-singer
A bridge sink that runs an external Singer target executable and feeds it faucet records as a Singer stream — so any existing Singer target can sit at the end of a faucet pipeline, and a Meltano project can move to faucet one side at a time.
- one
SCHEMAper stream (explicitschema, the pipeline contract, or inferred from the records), withkey_propertiesfromwrite_mode: upsertkeys; - one
RECORDper record, streamed through a bounded stdin buffer (a slow target back-pressures the pipeline); - bookmarks advance only after the target confirms: an echoed
STATE(flush_on: state) or a clean exit (flush_on: exit, the default); write_mode: overwriteversions every record and sendsACTIVATE_VERSIONafter a successful run.
Tier-2 / experimental. Using this sink reintroduces a runtime dependency (usually Python) for that pipeline, and throughput is Singer-class rather than faucet-class.
Re-exports§
pub use config::FlushOn;pub use config::SingerSinkConfig;pub use sink::SingerSink;
Modules§
- config
- Configuration types for the Singer target bridge sink.
- process
- Target subprocess runner: spawn, write Singer lines to stdin with
back-pressure, watch stdout for echoed
STATEmessages, keep a redacted stderr tail, and always reap the child. - schema
- Cumulative stream schema for records whose schema is inferred.
- sink
SingerSink— theSinkimplementation that bridges a Singer target.
Structs§
- Redactor
- Scrubs the scalar string values found in a Singer tap/target config out of any echoed text (stderr, error messages). Which values are secret is unknowable, so every string leaf of at least four characters is treated as sensitive, as is a number of at least four digits under a secret-looking key (a numeric API key or PIN).
Enums§
- Faucet
Error - All possible errors returned by faucet-stream.
- Inherit
Env - The
inherit_envsetting of a Singer tap or target. - Singer
Message - A parsed Singer protocol message.
Constants§
- DESCRIPTOR
- The connector’s static descriptor (RFC 0013): its capabilities, answered from config alone.
Traits§
- Sink
- A sink writes records to an external system.
Functions§
- parse_
line - Parse one line of tap stdout into a
SingerMessage. - secret_
like_ values - String and number leaves of
cfgstored under a secret-looking key (password,token,secret,key,credential, …) — the values worth registering with a process-wide log redactor. Values shorter than four characters are skipped.