-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathCargo.toml
More file actions
76 lines (69 loc) · 2.9 KB
/
Copy pathCargo.toml
File metadata and controls
76 lines (69 loc) · 2.9 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
[package]
name = "varlink-http-bridge"
version = "0.1.0"
edition = "2024"
license = "LGPL-2.1-or-later"
[workspace]
members = [".", "crates/ssh-key-import"]
[[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:tempfile", "dep:ssh-key-import"]
# never enable directly: pulled in via the self dev-dependency so that
# test-only constructors exist in test builds but not in release builds
test-helpers = []
[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 = ["rt-multi-thread", "macros", "net", "io-util", "sync", "time", "process", "fs", "signal"] }
# not using default features as we don't need service/server/introspection
zlink = { version = "0.7", 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"
tokio-tungstenite = "0.30"
futures-util = { version = "0.3" }
bytes = "1"
rustix = { version = "1.0", features = ["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"
socket2 = "0.6"
# using opeenssl here to keep size small, rusttls adds ~1.8MB binary size
# and nativetls does not support mTLS
# 0.10.81: Asn1StringRef::to_string (format_x509_subject)
openssl = "0.10.81"
tokio-openssl = "0.6"
indoc = "2.0.7"
ssh-key = { version = "0.6", optional = true }
# TODO: switch back to crates.io once SkEd25519 (hardware key) support is
# merged and released (https://github.com/mvo5/sshauth/tree/add-support-for-SkEd25519)
# (see https://github.com/oxidecomputer/sshauth/pull/8)
sshauth = { git = "https://github.com/mvo5/sshauth.git", branch = "add-support-for-SkEd25519", optional = true }
tempfile = { version = "3.27", optional = true }
ssh-key-import = { path = "crates/ssh-key-import", optional = true }
[dev-dependencies]
varlink-http-bridge = { path = ".", features = ["test-helpers"] }
reqwest = { version = "0.13", default-features = false, features = ["json", "native-tls"] }
test-with = { version = "0.17", default-features = false, features = ["runtime"] }
gethostname = "1.1.0"
tempfile = "3.27"
tower = { version = "0.5", features = ["util"] }
[profile.release]
strip = true
lto = true
codegen-units = 1