forked from wasmCloud/wasmCloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
375 lines (354 loc) · 17.7 KB
/
Cargo.toml
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
[package]
name = "wasmcloud"
version = "1.2.1"
description = "wasmCloud host runtime"
default-run = "wasmcloud"
readme = "README.md"
authors.workspace = true
categories.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
[workspace.package]
authors = ["The wasmCloud Team"]
categories = ["wasm"]
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/wasmCloud/wasmCloud"
[badges.maintenance]
status = "actively-developed"
[features]
providers = [
"dep:redis",
"dep:wasmcloud-provider-blobstore-azure",
"dep:wasmcloud-provider-blobstore-fs",
"dep:wasmcloud-provider-blobstore-s3",
"dep:wasmcloud-provider-http-client",
"dep:wasmcloud-provider-http-server",
"dep:wasmcloud-provider-keyvalue-nats",
"dep:wasmcloud-provider-keyvalue-redis",
"dep:wasmcloud-provider-keyvalue-vault",
"dep:wasmcloud-provider-lattice-controller",
"dep:wasmcloud-provider-messaging-kafka",
"dep:wasmcloud-provider-messaging-nats",
"dep:wasmcloud-provider-sqldb-postgres",
"dep:wasmcloud-provider-sdk",
]
default = ["providers"]
[[bin]]
name = "blobstore-azure-provider"
required-features = ["providers"]
[[bin]]
name = "blobstore-fs-provider"
required-features = ["providers"]
[[bin]]
name = "blobstore-s3-provider"
required-features = ["providers"]
[[bin]]
name = "http-server-provider"
required-features = ["providers"]
[[bin]]
name = "http-client-provider"
required-features = ["providers"]
[[bin]]
name = "keyvalue-nats-provider"
required-features = ["providers"]
[[bin]]
name = "keyvalue-redis-provider"
required-features = ["providers"]
[[bin]]
name = "keyvalue-vault-provider"
required-features = ["providers"]
[[bin]]
name = "lattice-controller-provider"
required-features = ["providers"]
[[bin]]
name = "messaging-kafka-provider"
required-features = ["providers"]
[[bin]]
name = "messaging-nats-provider"
required-features = ["providers"]
[[bin]]
name = "sqldb-postgres-provider"
required-features = ["providers"]
[profile.release]
strip = true
opt-level = "z"
lto = true
[dependencies]
anyhow = { workspace = true }
clap = { workspace = true, features = [
"color",
"derive",
"env",
"error-context",
"help",
"std",
"suggestions",
"usage",
] }
clap-markdown = { workspace = true }
nkeys = { workspace = true }
redis = { workspace = true, optional = true }
regex = { workspace = true}
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "signal"] }
tracing = { workspace = true } # TODO: revisit the 'release_max_level_info' feature https://github.com/wasmCloud/wasmCloud/issues/468
tracing-subscriber = { workspace = true }
wascap = { workspace = true }
wasmcloud-core = { workspace = true, features = ["otel"] }
wasmcloud-host = { workspace = true }
wasmcloud-provider-blobstore-azure = { workspace = true, optional = true }
wasmcloud-provider-blobstore-fs = { workspace = true, optional = true }
wasmcloud-provider-blobstore-s3 = { workspace = true, optional = true }
wasmcloud-provider-http-client = { workspace = true, optional = true }
wasmcloud-provider-http-server = { workspace = true, optional = true }
wasmcloud-provider-keyvalue-nats = { workspace = true, optional = true }
wasmcloud-provider-keyvalue-redis = { workspace = true, optional = true }
wasmcloud-provider-keyvalue-vault = { workspace = true, optional = true }
wasmcloud-provider-lattice-controller = { workspace = true, optional = true }
wasmcloud-provider-messaging-kafka = { workspace = true, optional = true }
wasmcloud-provider-messaging-nats = { workspace = true, optional = true }
wasmcloud-provider-sqldb-postgres = { workspace = true, optional = true }
wasmcloud-provider-sdk = { workspace = true, features = [
"otel",
], optional = true }
wasmcloud-secrets-types = { workspace = true }
wasmcloud-tracing = { workspace = true, features = ["otel"] }
[dev-dependencies]
async-nats = { workspace = true, features = ["ring"] }
bytes = { workspace = true }
base64 = { workspace = true }
futures = { workspace = true }
http-body-util = { workspace = true }
hyper = { workspace = true }
hyper-util = { workspace = true, features = ["server-auto", "tokio"] }
once_cell = { workspace = true }
provider-archive = { workspace = true }
rand = { workspace = true }
redis = { workspace = true, features = [
"aio",
"connection-manager",
"tokio-comp",
] }
regex = { workspace = true}
reqwest = { workspace = true, features = ["json", "rustls-tls"] }
rmp-serde = { workspace = true }
rustversion = { workspace = true }
secrets-nats-kv = { workspace = true }
serde = { workspace = true }
serde_bytes = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
test-components = { workspace = true }
tokio = { workspace = true, features = ["time"] }
tokio-stream = { workspace = true }
tracing-subscriber = { workspace = true, features = [
"ansi",
"env-filter",
"fmt",
"json",
"std",
] }
url = { workspace = true }
uuid = { workspace = true }
vaultrs = { workspace = true, features = ["rustls"] }
wascap = { workspace = true }
wasmcloud-control-interface = { workspace = true }
wasmcloud-core = { workspace = true, features = [
"reqwest",
"rustls-native-certs",
] }
wasmcloud-test-util = { workspace = true }
wrpc-interface-http = { workspace = true, features = ["hyper"] }
wrpc-transport = { workspace = true }
wrpc-transport-nats = { workspace = true }
[workspace]
members = ["crates/*"]
[workspace.dependencies]
anstyle = { version = "1.0.8", default-features = false }
anyhow = { version = "1", default-features = false }
assert-json-diff = { version = "2", default-features = false }
async-compression = { version = "0.3", default-features = false }
async-nats = { package = "async-nats", version = "0.36", default-features = false }
async-trait = { version = "0.1", default-features = false }
aws-config = { version = "1.5", default-features = false }
aws-sdk-s3 = { version = "1.34", default-features = false }
aws-smithy-runtime = { version = "1.6", default-features = false }
axum = { version = "0.7", default-features = false }
axum-server = { version = "0.6", default-features = false }
azure_core = { version = "0.20", default-features = false }
azure_storage = { version = "0.20", default-features = false }
azure_storage_blobs = { version = "0.20", default-features = false }
backoff = { version = "0.4", default-features = false }
base64 = { version = "0.22", default-features = false }
bigdecimal = { version = "0.4", default-features = false }
bit-vec = { version = "0.6", default-features = false }
bytes = { version = "1", default-features = false }
cap-std = { version = "3", default-features = false }
cargo_metadata = { version = "0.18", default-features = false }
cargo_toml = { version = "0.15", default-features = false }
cbindgen = { version = "0.25", default-features = false }
chrono = { version = "0.4", default-features = false }
cidr = { version = "0.2", default-features = false }
claims = { version = "0.7", default-features = false }
clap = { version = "4", default-features = false }
clap_complete = { version = "4", default-features = false }
clap-markdown = { version = "0.1.4", default-features = false }
cloudevents-sdk = { version = "0.7", default-features = false }
command-group = { version = "5", default-features = false }
config = { version = "0.13", default-features = false }
console = { version = "0.15", default-features = false }
crossterm = {version = "0.28.1",default-features = false }
data-encoding = { version = "2", default-features = false }
deadpool-postgres = { version = "0.13", default-features = false }
dialoguer = { version = "0.10", default-features = false }
dirs = { version = "5", default-features = false }
futures = { version = "0.3", default-features = false }
geo-types = { version = "0.7", default-features = false }
heck = { version = "0.5", default-features = false }
hex = { version = "0.4", default-features = false }
http = { version = "1", default-features = false, features = ["std"] }
http-body = { version = "1", default-features = false }
http-body-util = { version = "0.1", default-features = false }
humantime = { version = "2", default-features = false }
hyper = { version = "1", default-features = false }
hyper-rustls = { version = "0.27", default-features = false }
hyper-util = { version = "0.1", default-features = false }
ignore = { version = "0.4", default-features = false }
indicatif = { version = "0.17", default-features = false }
kafka = { version = "0.10", default-features = false }
names = { version = "0.14", default-features = false }
nix = { version = "0.27", default-features = false }
nkeys = { version = "0.4", default-features = false }
normpath = { version = "1", default-features = false }
notify = { version = "6", default-features = false }
nuid = { version = "0.4", default-features = false }
num = { version = "0.4", default-features = false }
oci-distribution = { version = "0.11", default-features = false }
oci-wasm = { version = "0.0.4", default-features = false }
once_cell = { version = "1", default-features = false }
opentelemetry = { version = "0.23", default-features = false }
opentelemetry-appender-tracing = { version = "0.4", default-features = false }
opentelemetry-nats = { version = "^0.1.1", path = "./crates/opentelemetry-nats", default-features = false }
opentelemetry-otlp = { version = "0.16", default-features = false }
opentelemetry_sdk = { version = "0.23", default-features = false }
path-absolutize = { version = "3", default-features = false }
path-clean = { version = "1", default-features = false }
pg_bigdecimal = { version = "0.1", default-features = false }
pin-project-lite = { version = "0.2", default-features = false }
postgres-types = { version = "0.2", default-features = false }
provider-archive = { version = "^0.12.0", path = "./crates/provider-archive", default-features = false }
quote = { version = "1", default-features = false }
rand = { version = "0.8", default-features = false }
redis = { version = "0.25", default-features = false }
regex = { version = "1", default-features = false }
reqwest = { version = "0.12", default-features = false }
# reqwest 0.11 is required by `wasmcloud-tracing` to allow customization of
# the HttpClient trait implementation for reqwest defined in `opentelemetry-http`,
# which is then used in `opentelemetry-otlp` to customize the http client used for
# interacting with OTEL collectors.
reqwest-0_11 = { package = "reqwest", version = "0.11", default-features = false }
ring = { version = "0.17", default-features = false }
rmp-serde = { version = "1", default-features = false }
rmpv = { version = "1", default-features = false }
rustls = { version = "0.23.11", default-features = false }
rustls-native-certs = { version = "0.7", default-features = false }
rustls-pemfile = { version = "2", default-features = false }
rustversion = { version = "1.0", default-features = false }
sanitize-filename = { version = "0.4", default-features = false }
secrecy = { version = "0.8", default-features = false }
secrets-nats-kv = { version = "0.1", path = "crates/secrets-nats-kv", default-features = false }
semver = { version = "1", default-features = false }
serde = { version = "1", default-features = false }
serde-transcode = { version = "1", default-features = false }
serde_bytes = { version = "0.11", default-features = false }
serde_cbor = { version = "0.11", default-features = false }
serde_json = { version = "1", default-features = false }
serde_with = { version = "3", default-features = false }
serde_yaml = { version = "0.9", default-features = false }
serial_test = { version = "0.9", default-features = false }
sha2 = { version = "0.10", default-features = false }
sysinfo = { version = "0.27", default-features = false }
tempfile = { version = "3", default-features = false }
term-table = { version = "=1.3.2", default-features = false }
termcolor = { version = "1", default-features = false }
termsize = { version = "0.1", default-features = false }
test-case = { version = "3", default-features = false }
test-components = { version = "0", path = "./tests/components", default-features = false }
testcontainers = { version = "0.21", default-features = false }
thiserror = { version = "1", default-features = false }
time = { version = "0.3", default-features = false }
tokio = { version = "1", default-features = false }
tokio-postgres = { version = "0.7", default-features = false }
tokio-postgres-rustls = { version = "0.12", default-features = false }
tokio-stream = { version = "0.1", default-features = false }
tokio-tar = { version = "0.3", default-features = false }
tokio-util = { version = "0.7", default-features = false }
toml = { version = "0.8", default-features = false }
tower = { version = "0.4", default-features = false }
tower-http = { version = "0.5", default-features = false }
tracing = { version = "0.1", default-features = false }
tracing-appender = { version = "0.2", default-features = false }
tracing-flame = { version = "0.2", default-features = false }
tracing-futures = { version = "0.2", default-features = false }
tracing-opentelemetry = { version = "0.24", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false }
ulid = { version = "1", default-features = false }
unicase = { version = "2.7.0", default-features = false }
url = { version = "2", default-features = false }
uuid = { version = "1", default-features = false }
vaultrs = { version = "0.7", default-features = false }
wadm = { version = "0.14.0", default-features = false }
wadm-client = { version = "0.3.0", default-features = false }
wadm-types = { version = "0.3.0", default-features = false }
walkdir = { version = "2", default-features = false }
warp = { version = "0.3", default-features = false }
wascap = { version = "^0.15.0", path = "./crates/wascap", default-features = false }
wash-cli = { version = "0", path = "./crates/wash-cli", default-features = false }
wash-lib = { version = "^0.25.1", path = "./crates/wash-lib", default-features = false }
wasi = { version = "=0.13.1", default-features = false } # WASI 0.2.1 is not currently supported
wasi-preview1-component-adapter-provider = { version = "24", default-features = false }
wasm-encoder = { version = "0.216", default-features = false }
wasm-gen = { version = "0.1", default-features = false }
wasmcloud-component = { version = "0", path = "crates/component", default-features = false }
wasmcloud-control-interface = { version = "1.0.0", path = "./crates/control-interface", default-features = false }
wasmcloud-core = { version = "^0.9.0", path = "./crates/core", default-features = false }
wasmcloud-host = { version = "0", path = "./crates/host", default-features = false }
wasmcloud-provider-blobstore-azure = { version = "*", path = "./crates/provider-blobstore-azure", default-features = false }
wasmcloud-provider-blobstore-fs = { version = "*", path = "./crates/provider-blobstore-fs", default-features = false }
wasmcloud-provider-blobstore-s3 = { version = "*", path = "./crates/provider-blobstore-s3", default-features = false }
wasmcloud-provider-http-client = { version = "*", path = "./crates/provider-http-client", default-features = false }
wasmcloud-provider-http-server = { version = "*", path = "./crates/provider-http-server", default-features = false }
wasmcloud-provider-keyvalue-nats = { version = "*", path = "./crates/provider-keyvalue-nats", default-features = false }
wasmcloud-provider-keyvalue-redis = { version = "*", path = "./crates/provider-keyvalue-redis", default-features = false }
wasmcloud-provider-keyvalue-vault = { version = "*", path = "./crates/provider-keyvalue-vault", default-features = false }
wasmcloud-provider-lattice-controller = { version = "*", path = "./crates/provider-lattice-controller", default-features = false }
wasmcloud-provider-messaging-kafka = { version = "*", path = "./crates/provider-messaging-kafka", default-features = false }
wasmcloud-provider-messaging-nats = { version = "*", path = "./crates/provider-messaging-nats", default-features = false }
wasmcloud-provider-sdk = { version = "^0.8.0", path = "./crates/provider-sdk", default-features = false }
wasmcloud-provider-sqldb-postgres = { version = "*", path = "./crates/provider-sqldb-postgres", default-features = false }
wasmcloud-runtime = { version = "^0.2.0", path = "./crates/runtime", default-features = false }
wasmcloud-secrets-client = { version = "^0.4.0", path = "./crates/secrets-client", default-features = false }
wasmcloud-secrets-types = { version = "^0.4.0", path = "./crates/secrets-types", default-features = false }
wasmcloud-test-util = { version = "^0.12.0", path = "./crates/test-util", default-features = false }
wasmcloud-tracing = { version = "^0.7.0", path = "./crates/tracing", default-features = false }
wasmparser = { version = "0.215", default-features = false }
wasmtime = { version = "24", default-features = false }
wasmtime-wasi = { version = "24", default-features = false }
wasmtime-wasi-http = { version = "24", default-features = false }
wasmtime-wit-bindgen = { version = "24", default-features = false }
wat = { version = "1", default-features = false }
webpki-roots = { version = "0.26", default-features = false }
weld-codegen = { version = "0.7", default-features = false }
which = { version = "4", default-features = false }
wit-bindgen = { version = "0.30", default-features = false }
wit-bindgen-core = { version = "0.30", default-features = false }
wit-bindgen-go = { version = "0.30", default-features = false }
wit-bindgen-wrpc = { version = "0.6.4", default-features = false }
wit-component = { version = "0.215", default-features = false }
wit-parser = { version = "0.215", default-features = false }
wrpc-interface-blobstore = { version = "0.18", default-features = false }
wrpc-interface-http = { version = "0.27", default-features = false }
wrpc-runtime-wasmtime = { version = "0.21", default-features = false }
wrpc-transport = { version = "0.26.7", default-features = false }
wrpc-transport-nats = { version = "0.23.0", default-features = false }