-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCargo.toml
More file actions
64 lines (58 loc) · 2.23 KB
/
Cargo.toml
File metadata and controls
64 lines (58 loc) · 2.23 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
[package]
name = "varlink-http-bridge"
version = "0.1.0"
edition = "2024"
license = "LGPL-2.1-or-later"
[[bin]]
name = "varlink-httpd"
path = "src/bin/varlink-httpd/main.rs"
[[bin]]
name = "varlinkctl-http"
path = "src/bin/varlinkctl-http/main.rs"
[features]
default = ["sshauth"]
sshauth = ["dep:ssh-key", "dep:sshauth", "dep:ureq", "dep:tempfile"]
[dependencies]
anyhow = "1.0.100"
async-stream = "0.3"
axum = { version = "0.8.8", features = ["ws"] }
futures-core = "0.3"
serde_json = "1.0.149"
tokio = { version = "1.49.0", features = ["full"] }
# not using default features as we don't need service/server/introspection
zlink = { version = "0.4", default-features = false, features = ["tokio", "proxy", "idl-parse", "tracing"] }
serde = { version = "1", features = ["derive"] }
log = "0.4"
env_logger = { version = "0.11", default-features = false, features = ["color", "humantime"] }
# not using clap here as its relatively heavy (500kb-1Mb depending on cfg)
lexopt = "0.3"
# not using full regex as it adds more bloat and our requirements are minimal
regex-lite = "0.1"
listenfd = "1.0.2"
tungstenite = "0.29"
rustix = { version = "1.0", features = ["event", "net", "process"] }
# TODO: switch back to crates.io once tokio-vsock releases a version with
# From<OwnedFd> support (https://github.com/rust-vsock/tokio-vsock/pull/72)
tokio-vsock = { git = "https://github.com/rust-vsock/tokio-vsock.git", rev = "c6225086", features = ["axum08"] }
vsock = "0.5"
signal-hook = "0.4"
socket2 = "0.6"
# using opeenssl here to keep size small, rusttls adds ~1.8MB binary size
# and nativetls does not support mTLS
openssl = "0.10"
tokio-openssl = "0.6"
indoc = "2.0.7"
ssh-key = { version = "0.6", optional = true }
sshauth = { version = "0.1", optional = true }
ureq = { version = "3", optional = true, default-features = false, features = ["native-tls"] }
tempfile = { version = "3.27", optional = true }
[dev-dependencies]
reqwest = { version = "0.13", default-features = false, features = ["json", "native-tls"] }
test-with = { version = "0.16", default-features = false, features = ["runtime"] }
gethostname = "1.1.0"
tempfile = "3.27"
tokio-tungstenite = "0.29"
futures-util = { version = "0.3" }
tower = { version = "0.5", features = ["util"] }
[profile.release]
strip = true