-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
79 lines (75 loc) · 2.85 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
[workspace]
members = [
"crates/api",
"crates/bootstrap_srv",
"crates/core",
"crates/dht",
"crates/memory",
"crates/test_utils",
"crates/tool_proto_build",
]
resolver = "2"
[workspace.dependencies]
# Self dependencies for workspace crates to depend on each other.
# For example, most crates will depend on the api crate.
kitsune2_api = { version = "0.0.1-alpha", path = "crates/api" }
# used by bootstrap_srv for mpmc worker queue pattern.
async-channel = "2.3.1"
# this is used by bootstrap_srv as the http server implementation.
axum = { version = "0.7.9", default-features = false }
# debugging is far easier when you can see short byte arrays
# as base64 instead of decimal u8s.
base64 = "0.22.1"
# shallow-clone byte arrays is a solved problem.
# bytes is the crate that solves it.
bytes = { version = "1.8.0", features = ["serde"] }
# bootstrap_srv for cli param parsing
clap = "4.5.21"
# bootstrap_srv uses this to make a best-effort to clean up tempfiles
# on shutdown.
ctrlc = { version = "3.4.5", features = ["termination"] }
# bootstrap_srv for signature verification.
ed25519-dalek = "2.1.1"
# bootstrap_srv uses this to determine worker thread count.
num_cpus = "1.16.0"
# api uses this for the kitsune2 wire protocol.
prost = "0.13.3"
# kitsune types need to be serializable for network transmission.
serde = { version = "1.0.215", features = ["derive"] }
# kitsune2 agent info is serialized as json to improve debugability of
# bootstrapping. So, we need a json library.
serde_json = "1.0.132"
# tokio is used for synchronization primitives as well as internal
# task spawning. We could consider abstracting the async runtime
# at some point in the future.
tokio = "1.41.1"
# Simplify writing async code
futures = "0.3"
# bootstrap_srv uses tempfiles as virtual memory for storage instead of RAM.
tempfile = "3.14.0"
# kitsune2 internally uses a mix of std::io::Error and thiserror derivation.
thiserror = "2.0.3"
# ureq is used in the bootstrap client module.
ureq = "2.10.1"
# url validation used by the api crate.
url = "2.5.4"
# kitsune2 uses tracing to log events. A consumer can choose any subscriber
# to receive these logs.
tracing = "0.1"
# --- tool-dependencies ---
# The following workspace dependencies are thus-far only used in unpublished
# tools and so are not needed in any true dependency trees.
# Please be careful to only include them in build dependencies or move them
# above this section.
# --- tool-dependencies ---
prost-build = "0.13.3"
# --- dev-dependencies ---
# The following workspace dependencies are used in crate dev-dependencies.
# Please be careful to only include them in dev dependencies or move them
# above this section.
# --- dev-dependencies ---
kitsune2_bootstrap_srv = { path = "crates/bootstrap_srv" }
kitsune2_memory = { path = "crates/memory" }
kitsune2_test_utils = { path = "crates/test_utils" }
rand = "0.8.5"
tracing-subscriber = "0.3"