Skip to main content

laminar_connectors/
lib.rs

1//! `LaminarDB` connector framework.
2
3#![deny(missing_docs)]
4#![warn(clippy::all, clippy::pedantic)]
5#![allow(clippy::duration_suboptimal_units)] // MSRV 1.85; from_mins/from_hours are 1.91+
6#![allow(clippy::module_name_repetitions)]
7// Connectors are Ring 1 (cold path): std HashMap/HashSet are acceptable
8// throughout config, registry, schema, checkpoint, and CDC modules.
9#![allow(clippy::disallowed_types)]
10// Common test patterns that are acceptable
11#![cfg_attr(
12    test,
13    allow(
14        clippy::field_reassign_with_default,
15        clippy::float_cmp,
16        clippy::manual_let_else,
17        clippy::needless_return,
18        clippy::unreadable_literal,
19        clippy::approx_constant,
20        clippy::cast_possible_truncation,
21        clippy::cast_possible_wrap,
22        clippy::cast_sign_loss,
23        clippy::cast_precision_loss,
24        clippy::no_effect_underscore_binding,
25        unused_mut
26    )
27)]
28
29// ── Connector SDK ──
30
31/// Connector error types.
32pub mod error;
33
34#[macro_use]
35mod macros;
36
37/// Connector configuration types.
38pub mod config;
39
40/// Core connector traits (`SourceConnector`, `SinkConnector`).
41pub mod connector;
42
43/// Connector checkpoint types.
44pub mod checkpoint;
45
46/// Connector health status types.
47pub mod health;
48
49/// Connector metrics types.
50pub mod metrics;
51
52/// Record serialization and deserialization framework.
53pub mod serde;
54
55/// Schema inference, resolution, and evolution framework.
56pub mod schema;
57
58/// Connector registry with factory pattern.
59pub mod registry;
60
61/// Testing utilities (mock connectors, helpers).
62#[cfg(any(test, feature = "testing"))]
63pub mod testing;
64
65// ── Existing Modules ──
66
67/// Kafka source and sink connectors.
68#[cfg(feature = "kafka")]
69pub mod kafka;
70
71/// Change Data Capture connectors for databases.
72pub mod cdc;
73
74/// PostgreSQL sink connector.
75#[cfg(feature = "postgres-sink")]
76pub mod postgres;
77
78/// Lookup table support for enrichment joins.
79pub mod lookup;
80
81/// Lakehouse connectors (Delta Lake, Iceberg).
82pub mod lakehouse;
83
84/// Cloud storage infrastructure (credential resolution, validation, secret masking).
85pub mod storage;
86
87/// Reference table source trait and refresh modes.
88pub mod reference;
89
90/// WebSocket source and sink connectors.
91#[cfg(feature = "websocket")]
92pub mod websocket;
93
94/// MongoDB CDC source and sink connectors.
95#[cfg(feature = "mongodb-cdc")]
96pub mod mongodb;
97
98/// OpenTelemetry OTLP/gRPC source connector.
99#[cfg(feature = "otel")]
100pub mod otel;
101
102/// NATS core and JetStream source and sink connectors.
103#[cfg(feature = "nats")]
104pub mod nats;
105
106/// AutoLoader-style file source and sink connectors.
107#[cfg(feature = "files")]
108#[allow(
109    clippy::similar_names,
110    clippy::cast_possible_truncation,
111    clippy::must_use_candidate,
112    clippy::items_after_statements,
113    clippy::manual_let_else,
114    clippy::missing_fields_in_debug,
115    clippy::unnecessary_wraps,
116    clippy::case_sensitive_file_extension_comparisons,
117    clippy::map_unwrap_or,
118    clippy::unnecessary_literal_bound,
119    clippy::too_many_lines
120)]
121pub mod files;