Skip to main content

Module registry

Module registry 

Source
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_once overrides — 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). kafka qualifies 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_writes overrides — 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’s supports_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’s Sink::supported_write_modes() override. Single source of truth for the gate

Functions§

build_sink
Build a Sink trait object from a (kind, config) pair. When the config carries auth: { ref: <name> }, the named provider is resolved from auth (the catalog) and injected into the connector.
build_source
Build a Source trait object from a (kind, config) pair. When the config carries auth: { ref: <name> }, the named provider is resolved from auth (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 from IDEMPOTENT_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 via UPSERT_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 from EXACTLY_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.