/
Cargo.toml
118 lines (113 loc) · 3.6 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
[package]
name = "ic-boundary"
version.workspace = true
authors.workspace = true
edition.workspace = true
description.workspace = true
documentation.workspace = true
[[bin]]
name = "ic-boundary"
path = "src/main.rs"
[features]
bench = []
tls = []
[dependencies]
anyhow = { workspace = true }
arc-swap = "1"
async-scoped = { version = "0.8", features = ["use-tokio"] }
async-trait = { workspace = true }
axum = "0.6.1"
axum-extra = "0.9.0"
axum-server = { version = "0.5.1", features = ["tls-rustls"] }
bytes = { workspace = true }
candid = { workspace = true }
clap = { workspace = true }
dashmap = "5.3.4"
ethnum = { workspace = true }
futures = { workspace = true }
futures-util = { workspace = true }
hex = { workspace = true }
http = "0.2.6"
http-body = "0.4"
hyper = "0.14.18"
hyper-rustls = { workspace = true }
ic-base-types = { path = "../../types/base_types" }
ic-btc-interface = { workspace = true }
ic-config = { path = "../../config" }
ic-certification-test-utils = { path = "../../certification/test-utils" }
ic-crypto-ed25519 = { path = "../../crypto/ed25519" }
ic-crypto-tree-hash = { path = "../../crypto/tree_hash" }
ic-crypto-utils-threshold-sig-der = { path = "../../crypto/utils/threshold_sig_der" }
ic-crypto-utils-tls = { path = "../../crypto/utils/tls" }
ic-interfaces-registry = { path = "../../interfaces/registry" }
ic-logger = { path = "../../monitoring/logger" }
ic-protobuf = { path = "../../protobuf" }
ic-registry-client = { path = "../../registry/client" }
ic-registry-client-fake = { path = "../../registry/fake" }
ic-registry-client-helpers = { path = "../../registry/helpers" }
ic-registry-keys = { path = "../../registry/keys" }
ic-registry-local-store = { path = "../../registry/local_store" }
ic-registry-proto-data-provider = { path = "../../registry/proto_data_provider" }
ic-registry-replicator = { path = "../../orchestrator/registry_replicator" }
ic-registry-routing-table = { path = "../../registry/routing_table" }
ic-registry-subnet-type = { path = "../../registry/subnet_type" }
ic-types = { path = "../../types/types" }
ic-management-canister-types = { path = "../../types/management_canister_types" }
instant-acme = "0.3.2"
jemallocator = "0.3"
jemalloc-ctl = "0.3"
lazy_static = "1.4.0"
little-loadshedder = "0.1.0"
maxminddb = "0.24"
mockall = { workspace = true }
moka = { version = "0.12", features = ["sync", "future"] }
nftables = "0.4"
nix = { workspace = true }
prometheus = { workspace = true }
rand = "0.8.4"
ratelimit = "0.9.1"
rcgen = { workspace = true }
regex = "1.3.9"
reqwest = { version = "0.11.22", default-features = false, features = [
"blocking",
"json",
"multipart",
"rustls-tls",
"rustls-tls-webpki-roots",
"stream",
] }
rustls = { version = "0.21.12", features = ["dangerous_configuration"] }
rustls-pemfile = "^1"
serde = { workspace = true }
serde_bytes = { workspace = true }
serde_cbor = { workspace = true }
serde_json = { workspace = true }
slog = { workspace = true }
strum = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
tokio-rustls = { workspace = true }
tower = { workspace = true }
tower_governor = "0.1"
tower-http = { version = "0.4.4", features = [
"trace",
"request-id",
"util",
"compression-full",
] }
tracing = { workspace = true }
tracing-core = "0.1.32"
tracing-serde = "0.1.3"
tracing-slog = "0.2"
tracing-subscriber = { workspace = true }
url = "2.1.1"
x509-parser = { workspace = true }
[dev-dependencies]
criterion = { version = "0.5.1", features = ["async_tokio"] }
tempfile = "3.6.0"
wiremock = "=0.5.19"
[[bench]]
name = "perf"
harness = false
required-features = ["bench"]