Skip to main content

Crate faucet_sink_singer

Crate faucet_sink_singer 

Source
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 SCHEMA per stream (explicit schema, the pipeline contract, or inferred from the records), with key_properties from write_mode: upsert keys;
  • one RECORD per 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: overwrite versions every record and sends ACTIVATE_VERSION after 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 STATE messages, keep a redacted stderr tail, and always reap the child.
schema
Cumulative stream schema for records whose schema is inferred.
sink
SingerSink — the Sink implementation 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§

FaucetError
All possible errors returned by faucet-stream.
InheritEnv
The inherit_env setting of a Singer tap or target.
SingerMessage
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 cfg stored 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.