-
Notifications
You must be signed in to change notification settings - Fork 17
/
Cargo.toml
303 lines (290 loc) · 13.9 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
[package]
name = "wick-cli"
version = "0.16.2"
edition = "2021"
default-run = "wick"
license = "Elastic-2.0"
repository = "https://github.com/candlecorp/wick"
description = "The binary executable for the Wick project."
include = ["src/**/*", "LICENSE", "README.md"]
[features]
default = []
cross = ["openssl/vendored"]
console = [
"wick-logger/console",
"tokio/full",
"tokio/tracing",
] # Build with RUSTFLAGS="--cfg tokio_unstable"
mem-profiler = ["dhat"]
[dependencies]
wick-xdg = { workspace = true, features = ["serde"] }
wick-settings = { workspace = true }
wick-packet = { workspace = true }
wick-interface-types = { workspace = true }
wick-rpc = { workspace = true, features = ["client"] }
wick-component-cli = { workspace = true, features = ["cli", "grpc"] }
wick-host = { workspace = true }
wick-config = { workspace = true, features = ["v1", "v0", "config"] }
wick-test = { workspace = true }
wick-wascap = { workspace = true }
wick-oci-utils = { workspace = true }
wick-package = { workspace = true }
wick-logger = { workspace = true }
flow-expression-parser = { workspace = true }
seeded-random = { workspace = true }
anyhow = { workspace = true }
atty = { workspace = true }
clap = { workspace = true, default-features = true, features = ["derive"] }
dhat = { workspace = true, optional = true }
dialoguer = { workspace = true, features = ["password"] }
futures = { workspace = true }
human-panic = { workspace = true }
liquid = { workspace = true }
liquid-json = { workspace = true, features = ["serde"] }
markup-converter = { workspace = true }
nkeys = { workspace = true }
once_cell = { workspace = true }
openssl = { workspace = true, features = ["vendored"], optional = true }
option-utils = { workspace = true }
regex = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
structured-output = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread"] }
tracing = { workspace = true }
[dev-dependencies]
test_bin = { workspace = true }
trycmd = { workspace = true }
test-logger = { workspace = true }
tokio = { workspace = true, features = ["process"] }
rstest = { workspace = true }
[[bin]]
name = "wick"
path = "src/main.rs"
[workspace]
resolver = "2"
members = [
"crates/interfaces/*",
"crates/misc/*",
"crates/components/*",
"crates/wick/*",
"integration-tests/*",
]
exclude = [
"crates/wick/wick-rpc/codegen",
"integration-tests/template",
"integration-tests/testdata",
]
[profile.release-with-debug]
inherits = "release"
debug = true
[workspace.dependencies]
#
# crates/wick
#
flow-component = { path = "./crates/wick/flow-component", version = "0.7.0", default-features = false }
flow-expression-parser = { path = "./crates/wick/flow-expression-parser", version = "0.7.0", default-features = false }
flow-graph = { path = "./crates/wick/flow-graph", version = "0.23.0" }
flow-graph-interpreter = { path = "./crates/wick/flow-graph-interpreter", version = "0.22.0" }
wick-logger = { path = "./crates/wick/wick-logger", version = "0.4.0" }
wick-asset-reference = { path = "./crates/wick/wick-asset-reference", version = "0.5.0" }
wick-component = { path = "./crates/wick/wick-component", version = "0.17.0", default-features = false }
wick-component-cli = { path = "./crates/wick/wick-component-cli", version = "0.3.0", default-features = false }
wick-component-codegen = { path = "./crates/wick/wick-component-codegen", version = "0.6.0" }
wick-component-wasmrs = { path = "./crates/wick/wick-component-wasmrs", version = "0.3.0" }
wick-config = { path = "./crates/wick/wick-config", version = "0.28.0", default-features = false }
wick-host = { path = "./crates/wick/wick-host", version = "0.6.2" }
wick-interface-types = { path = "./crates/wick/wick-interface-types", version = "0.17.0" }
wick-invocation-server = { path = "./crates/wick/wick-invocation-server", version = "0.3.0" }
wick-oci-utils = { path = "./crates/wick/wick-oci-utils", version = "0.5.0", default-features = false }
wick-operation = { path = "./crates/wick/wick-operation", version = "0.3.0", default-features = false }
wick-package = { path = "./crates/wick/wick-package", version = "0.4.0" }
wick-packet = { path = "./crates/wick/wick-packet", version = "0.17.0", default-features = false }
wick-settings = { path = "./crates/wick/wick-settings", version = "0.3.0" }
wick-rpc = { path = "./crates/wick/wick-rpc", version = "0.3.0", default-features = false }
wick-runtime = { path = "./crates/wick/wick-runtime", version = "0.24.1" }
wick-test = { path = "./crates/wick/wick-test", version = "0.3.0" }
wick-trigger = { path = "./crates/wick/wick-trigger", version = "0.1.0" }
wick-trigger-cli = { path = "./crates/wick/wick-trigger-cli", version = "0.1.0" }
wick-trigger-http = { path = "./crates/wick/wick-trigger-http", version = "0.1.1" }
wick-trigger-time = { path = "./crates/wick/wick-trigger-time", version = "0.1.0" }
wick-trigger-wasm-command = { path = "./crates/wick/wick-trigger-wasm-command", version = "0.1.1" }
wick-wascap = { path = "./crates/wick/wick-wascap", version = "0.3.0" }
wick-wasm-engine = { path = "./crates/wick/wick-wasm-engine", version = "0.1.0" }
wick-xdg = { path = "./crates/wick/wick-xdg", version = "0.4.0" }
#
# crates/misc
#
asset-container = { path = "./crates/misc/asset-container", version = "0.4.0" }
derive-asset-container = { path = "./crates/misc/derive-asset-container", version = "0.4.0" }
performance-mark = { path = "./crates/misc/performance-mark", version = "0.3.0" }
seeded-random = { path = "./crates/misc/seeded-random", version = "0.6.0", default-features = false }
tap-harness = { path = "./crates/misc/tap-harness", version = "0.3.0" }
test-logger = { path = "./crates/misc/test-logger", package = "wick-test-logger", version = "0.2.0" }
#
# crates/interfaces
#
wick-interface-http = { path = "./crates/interfaces/wick-interface-http", version = "0.4.0" }
wick-interface-cli = { path = "./crates/interfaces/wick-interface-cli", version = "0.4.0" }
#
# crates/components
#
wick-sql = { path = "./crates/components/wick-sql", version = "0.3.0" }
wick-http-client = { path = "./crates/components/wick-http-client", version = "0.3.0" }
#
# wasmtime (must align with version in wasmrs)
#
wasmtime = { version = "13.0", default-features = false, features = [
"cache",
"jitdump",
"parallel-compilation",
"cranelift",
"vtune",
] }
wasmtime-wasi = { version = "13.0", features = ["sync"] }
wasi-common = { version = "13.0" }
# wasmrs
wasmrs = { version = "0.17.0" }
wasmrs-codec = { version = "0.17.0" }
wasmrs-frames = { version = "0.17.1" }
wasmrs-guest = { version = "0.17.0" }
wasmrs-host = { version = "0.17.0" }
wasmrs-runtime = { version = "0.17.1" }
wasmrs-rx = { version = "0.17.0" }
wasmrs-wasmtime = { version = "0.17.0" }
#
# Other
#
ansi_term = { version = "0.12", default-features = false }
anyhow = { version = "1.0", default-features = false, features = ["std"] }
assert-json-diff = { version = "2.0", default-features = false }
async-recursion = { version = "1.0", default-features = false }
async-stream = { version = "0.3", default-features = false }
async-trait = { version = "0.1", default-features = false }
atty = { version = "0.2", default-features = false }
bytes = { version = "1.4", default-features = false }
base64 = { version = "0.21", default-features = false }
base64-serde = { version = "0.7.0", default-features = false }
bb8-tiberius = { version = "0.15.0", default-features = false }
bb8 = { version = "0.8.0", default-features = false }
bitflags = { version = "2.2", default-features = false }
cfg-if = { version = "1.0", default-features = false }
check_keyword = { version = "0.2", default-features = false }
chrono = { version = "0.4.31", default-features = false }
console-subscriber = { version = "0.1", default-features = false }
clap = { version = "4.2", default-features = false }
console = { version = "0.15", default-features = false }
cron = { version = "0.12", default-features = false }
data-encoding = { version = "2.3.2", default-features = false }
derive_builder = { version = "0.12", default-features = false }
dhat = { version = "0.3.2", default-features = false }
dialoguer = { version = "0.10", default-features = false }
dyn-clone = { version = "1.0", default-features = false }
either = { version = "1.9.0", default-features = false }
env_logger = { version = "0.10", default-features = false }
escargot = { version = "0.5", default-features = false }
eventsource-stream = { version = "0.2", default-features = false, features = [
"std",
] }
futures = { version = "0.3", default-features = false, features = ["std"] }
getrandom = { version = "0.2", default-features = false }
getset = { version = "0.1", default-features = false }
glob = { version = "0.3", default-features = false }
heck = { version = "0.4", default-features = false }
human-panic = { version = "1.1", default-features = false }
humantime = { version = "2.1", default-features = false }
http = { version = "0.2", default-features = false }
hyper = { version = "0.14", default-features = false }
hyper-staticfile = { version = "0.9", default-features = false }
hyper-reverse-proxy = { version = "0.5", default-features = false }
itertools = { version = "0.11", default-features = false, features = [
"use_std",
] }
json_dotpath = { version = "1.1.0", default-features = false }
lazy_static = { version = "1.4", default-features = false }
liquid = { package = "loose-liquid", version = "0.27", default-features = false }
liquid-json = { version = "0.6.1", default-features = false }
markup-converter = { version = "0.2", default-features = false }
mslnk = { version = "0.1.8", default-features = false }
nkeys = { version = "0.3", default-features = false }
nom = { version = "7.1", default-features = false }
normpath = { version = "1.1", default-features = false }
nuid = { version = "0.4", default-features = false }
num-traits = { version = "0.2", default-features = false }
oci-distribution = { version = "0.9", default-features = false }
once_cell = { version = "1.8", default-features = false }
openapiv3 = { version = "1.0", default-features = false }
openssl = { version = "0.10", default-features = false }
option-utils = { version = "0.1", default-features = false }
opentelemetry = { version = "0.19.0", default-features = false }
opentelemetry-otlp = { version = "0.12.0", default-features = false }
parking_lot = { version = "0.12", default-features = false }
percent-encoding = { version = "2.1" }
paste = { version = "1.0", default-features = false }
pin-project-lite = { version = "0.2", default-features = false }
postgres-openssl = { version = "0.5", default-features = false }
pretty_assertions = { version = "1.3", default-features = false, features = [
"std",
] }
prettyplease = { version = "0.2", default-features = false }
proc-macro-crate = { version = "1.1", default-features = false }
proc-macro2 = { version = "~1.0.63", default-features = false }
property = { version = "0.3", default-features = false }
prost = { version = "0.11", default-features = false }
prost-types = { version = "0.11", default-features = false }
quote = { version = "1.0", default-features = false }
rand = { version = "0.8", default-features = false }
rand_core = { version = "0.6", default-features = false }
rand_chacha = { version = "0.3", default-features = false }
regex = { version = "1.8", default-features = false }
reqwest = { version = "~0.11.16", default-features = false }
ring = { version = "0.17", default-features = false }
serde = { version = "1.0", default-features = false }
serde_json = { version = "1.0", default-features = false }
serde_repr = { version = "0.1", default-features = false }
serde_with = { version = "3.0", default-features = false }
serde_yaml = { version = "0.9", default-features = false }
serde-value = { version = "0.7", default-features = false }
serde-with-expand-env = { version = "1.1", default-features = false }
sha256 = { version = "1.1", default-features = false }
syn = { version = "2.0", default-features = false }
sqlx = { version = "0.7.2", default-features = false }
structmeta = { version = "0.2", default-features = false }
structured-output = { version = "0.1.1", default-features = false }
tar = { version = "0.4", default-features = false }
flate2 = { version = "1", default-features = false }
tracing-appender = { version = "0.2", default-features = false }
test_bin = { version = "0.4", default-features = false }
test-log = { version = "0.2", default-features = false }
testanything = { version = "0.4", default-features = false }
thiserror = { version = "1.0", default-features = false }
tiberius = { version = "0.12.2", default-features = false }
time = { version = "0.3", default-features = false }
tokio = { version = "1.33", default-features = false }
tokio-postgres = { version = "0.7", default-features = false }
tokio-stream = { version = "0.1", default-features = false }
tokio-util = { version = "0.7", default-features = false }
tokio-test = { version = "0.4.2", default-features = false }
tonic = { version = "0.9", default-features = false }
tonic-reflection = { version = "0.9", default-features = false }
tracing = { version = "0.1", default-features = false }
tracing-futures = { version = "0.2", default-features = false, features = [
"std",
"std-future",
] }
tracing-log = { version = "0.1", default-features = false }
tracing-opentelemetry = { version = "0.19.0", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false }
trycmd = { version = "0.14", default-features = false }
uhttp_sse = { version = "0.5.1" }
url = { version = "2.3", default-features = false }
uuid = { version = "1.1", default-features = false }
wasm-encoder = { version = "0.35", default-features = false }
webpki = { version = "0.22.2" }
wasmparser = { version = "0.115", default-features = false }
walkdir = { version = "2.3", default-features = false }
xdg = { version = "2.4", default-features = false }
byteorder = { version = "1.4", default-features = false }
rstest = { version = "0.18", default-features = false }
wildmatch = { version = "2.1.1", default-features = false }