Expand description
Feature-gated dispatch from a string type to a concrete connector.
Every arm in this file is guarded by the matching source-* / sink-*
Cargo feature so users can build a slim binary with just the connectors
they need. The string keys here are the public contract of the CLI’s
type: field in YAML/JSON pipeline configs.
Constants§
- EXACTLY_
ONCE_ SOURCE_ KINDS - Source connector kinds that deterministically replay (exactly-once-capable).
Mirrors
Source::supports_exactly_onceoverrides — keep in sync when a new source opts in. The single source of truth for both the boolean gate and the human-readable list shown in error messages (F44).kafkaqualifies because partitions are immutable logs and every page carries a complete offsets bookmark (#291). - IDEMPOTENT_
SINK_ KINDS - Sink connector kinds that can durably commit a token atomically with data.
Mirrors
Sink::supports_idempotent_writesoverrides — keep in sync when a new sink opts in. Single source of truth for the gate + the error-message list (F44). - SCHEMA_
EVOLUTION_ SINK_ KINDS - Sink kinds that can apply additive/widening DDL via
Sink::evolve_schema. Mirrors each sink’ssupports_schema_evolution()override. Iceberg is intentionally excluded — iceberg-rust 0.9.1 exposes no schema-evolution API (#255). - UPSERT_
SINK_ KINDS - Sink kinds that support
write_mode: upsert|delete. Mirrors each sink’sSink::supported_write_modes()override. Single source of truth for the gate
Functions§
- build_
sink - Build a
Sinktrait object from a(kind, config)pair. When the config carriesauth: { ref: <name> }, the named provider is resolved fromauth(the catalog) and injected into the connector. - build_
source - Build a
Sourcetrait object from a(kind, config)pair. When the config carriesauth: { ref: <name> }, the named provider is resolved fromauth(the catalog) and injected into the connector. - sink_
descriptions - One-line summary of every compiled-in sink connector. Used by
faucet list. - sink_
exists - Check if a sink kind is registered (not unknown or disabled by feature gate).
- sink_
guarantee - The strongest delivery guarantee a sink kind can uphold
(
Sink::sink_guarantee, issue #292). Derived fromIDEMPOTENT_SINK_KINDS/UPSERT_SINK_KINDS. - sink_
kinds - Names of every compiled-in sink connector.
- sink_
schema - Return the JSON Schema for the named sink’s config struct.
- sink_
supported_ write_ modes - Write modes each sink kind supports. Kept in sync with each sink’s
Sink::supported_write_modes()override viaUPSERT_SINK_KINDS. - sink_
supports_ idempotent_ writes - See
IDEMPOTENT_SINK_KINDS. - sink_
supports_ schema_ evolution - See
SCHEMA_EVOLUTION_SINK_KINDS. - source_
descriptions - One-line summary of every compiled-in source connector. Used by
faucet list. - source_
exists - Check if a source kind is registered (not unknown or disabled by feature gate).
- source_
kinds - Names of every compiled-in source connector.
- source_
replay_ guarantee - The typed replay capability a source kind advertises
(
Source::replay_guarantee, issue #292). Derived fromEXACTLY_ONCE_SOURCE_KINDS— the kind table stays the single source of truth; this is the typed view the delivery-guarantee derivation consumes. - source_
schema - Return the JSON Schema for the named source’s config struct.
- source_
supports_ exactly_ once - See
EXACTLY_ONCE_SOURCE_KINDS.