-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
117 lines (108 loc) · 5.01 KB
/
Cargo.toml
File metadata and controls
117 lines (108 loc) · 5.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[package]
edition = "2024"
name = "postgres-stream"
version = "0.1.0"
[features]
default = []
sink-elasticsearch = ["dep:elasticsearch", "dep:url"]
sink-gcp-pubsub = ["dep:google-cloud-pubsub", "dep:google-cloud-auth", "dep:google-cloud-googleapis"]
sink-kafka = ["dep:rdkafka"]
sink-kinesis = ["dep:aws-sdk-kinesis", "dep:aws-config"]
sink-meilisearch = ["dep:meilisearch-sdk"]
sink-nats = ["dep:async-nats"]
sink-rabbitmq = ["dep:lapin"]
sink-redis-streams = ["dep:redis"]
sink-redis-strings = ["dep:redis"]
sink-sns = ["dep:aws-sdk-sns", "dep:aws-config"]
sink-sqs = ["dep:aws-sdk-sqs", "dep:aws-config"]
sink-webhook = ["dep:reqwest"]
test-utils = ["dep:ctor", "dep:testcontainers", "dep:testcontainers-modules"]
[dependencies]
anyhow = { version = "1.0.98", default-features = false, features = ["std"] }
chrono = { version = "0.4.41", default-features = false }
config = { version = "0.14", default-features = false, features = ["yaml", "json"] }
const-oid = { version = "0.9.6", default-features = false }
futures = { version = "0.3.31", default-features = false }
metrics = { version = "0.24.2", default-features = false }
metrics-exporter-prometheus = { version = "0.17.2", default-features = false, features = ["http-listener"] }
pin-project-lite = { version = "0.2.16", default-features = false }
ring = { version = "0.17.14", default-features = false }
rustls = { version = "0.23.31", default-features = false }
rustls-pemfile = { version = "2.2.0", default-features = false, features = ["std"] }
secrecy = { version = "0.10.3", default-features = false, features = ["serde"] }
serde = { version = "1.0.219", default-features = false, features = ["std", "derive"] }
serde_json = { version = "1.0.141", default-features = false }
serde_yaml = { version = "0.9.34", default-features = false }
sqlx = { version = "0.8.6", default-features = false, features = [
"runtime-tokio-rustls",
"postgres",
"chrono",
"uuid",
] }
thiserror = { version = "2.0", default-features = false }
tokio = { version = "1.47.0", default-features = false, features = ["rt-multi-thread", "macros", "signal"] }
tokio-postgres = { git = "https://github.com/MaterializeInc/rust-postgres", default-features = false, rev = "c4b473b478b3adfbf8667d2fbe895d8423f1290b", features = [
"runtime",
"with-chrono-0_4",
"with-uuid-1",
"with-serde_json-1",
] }
tokio-rustls = { version = "0.26.2", default-features = false }
tracing = { version = "0.1.41", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false, features = ["fmt", "env-filter"] }
x509-cert = { version = "0.2.2", default-features = false }
etl = { git = "https://github.com/supabase/etl", rev = "3122cb1c8df9649e9caaa4ee9d89e1611df29baf" }
etl-postgres = { git = "https://github.com/supabase/etl", rev = "3122cb1c8df9649e9caaa4ee9d89e1611df29baf" }
uuid = { version = "1.19.0", default-features = false, features = ["v4"] }
# Optional sink dependencies.
async-nats = { version = "0.38", optional = true }
aws-config = { version = "1.5", optional = true }
aws-sdk-kinesis = { version = "1.60", optional = true }
aws-sdk-sns = { version = "1.60", optional = true }
aws-sdk-sqs = { version = "1.60", optional = true }
elasticsearch = { version = "8.19.0-alpha.1", optional = true, default-features = false, features = ["rustls-tls"] }
google-cloud-auth = { version = "0.18", optional = true }
google-cloud-googleapis = { version = "0.15", optional = true }
google-cloud-pubsub = { version = "0.29", optional = true }
lapin = { version = "2.5", optional = true }
meilisearch-sdk = { version = "0.28", optional = true }
rdkafka = { version = "0.36", optional = true, default-features = false, features = ["tokio", "cmake-build"] }
redis = { version = "0.27", default-features = false, features = [
"tokio-comp",
"connection-manager",
"streams",
], optional = true }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"], optional = true }
url = { version = "2.5", optional = true, default-features = false }
[target.'cfg(not(target_env = "msvc"))'.dependencies]
tikv-jemalloc-ctl = { version = "0.6.0", default-features = false, features = ["stats"] }
tikv-jemallocator = { version = "0.6.1", default-features = false, features = [
"background_threads_runtime_support",
"unprefixed_malloc_on_supported_platforms",
] }
ctor = { version = "0.4", optional = true }
testcontainers = { version = "0.23", optional = true, features = ["blocking"] }
testcontainers-modules = { version = "0.11", optional = true, features = [
"postgres",
"redis",
"nats",
"rabbitmq",
"kafka",
"elasticmq",
"elastic_search",
"meilisearch",
"localstack",
"google_cloud_sdk_emulators",
"blocking",
] }
[dev-dependencies]
temp-env = "0.3"
tempfile = "3.13"
wiremock = "0.6"
[lints.clippy]
fallible_impl_from = "deny"
fn_params_excessive_bools = "deny"
indexing_slicing = "deny"
must_use_candidate = "deny"
unneeded_field_pattern = "deny"
wildcard_enum_match_arm = "deny"