This repository has no description
6.7 kB
197 lines
1[workspace]
2resolver = "3"
3members = ["bobbin/crates/*", "crates/*", "shuttle", "knot2/crates/*"]
4default-members = ["bobbin/crates/*", "crates/*", "knot2/crates/*"]
5exclude = ["sites"]
6
7[workspace.package]
8version = "0.0.1"
9edition = "2024"
10rust-version = "1.96"
11license = "MIT"
12authors = [
13 "Lewis <lewis@tangled.org>",
14 "Seongmin Lee <git@boltless.me>",
15 "oppiliappan <me@oppi.li>",
16 "Anirudh Oppiliappan <anirudh@tangled.org>",
17 "eti <eti@eti.tf>",
18 "dawn <dawn@tangled.org>",
19]
20
21[workspace.lints.rust]
22unsafe_code = "forbid"
23unused_must_use = "deny"
24
25[workspace.lints.clippy]
26dbg_macro = "warn"
27todo = "warn"
28print_stdout = "deny"
29print_stderr = "warn"
30
31[workspace.dependencies]
32trusted-proxies = { path = "crates/trusted-proxies" }
33
34bobbin-types = { path = "bobbin/crates/types" }
35bobbin-edge-index = { path = "bobbin/crates/edge-index" }
36bobbin-ingest = { path = "bobbin/crates/ingest" }
37bobbin-resolver = { path = "bobbin/crates/resolver" }
38bobbin-slingshot-client = { path = "bobbin/crates/slingshot-client" }
39bobbin-record-lru = { path = "bobbin/crates/record-lru" }
40bobbin-knot-proxy = { path = "bobbin/crates/knot-proxy" }
41bobbin-knot-ingest = { path = "bobbin/crates/knot-ingest" }
42bobbin-runtime = { path = "bobbin/crates/runtime" }
43bobbin-search = { path = "bobbin/crates/search" }
44bobbin-sim = { path = "bobbin/crates/bobbin-sim" }
45bobbin-xrpc = { path = "bobbin/crates/xrpc" }
46
47knot-fixtures = { path = "knot2/crates/knot-fixtures" }
48knot-lexicons = { path = "knot2/crates/knot-lexicons" }
49knot-types = { path = "knot2/crates/knot-types" }
50knot-resource = { path = "knot2/crates/knot-resource" }
51knot-config = { path = "knot2/crates/knot-config" }
52knot-runtime = { path = "knot2/crates/knot-runtime" }
53knot-git = { path = "knot2/crates/knot-git" }
54knot-langs = { path = "knot2/crates/knot-langs" }
55knot-lfs = { path = "knot2/crates/knot-lfs" }
56knot-workflow = { path = "knot2/crates/knot-workflow" }
57knot-pack = { path = "knot2/crates/knot-pack" }
58knot-cob = { path = "knot2/crates/knot-cob" }
59knot-cobs = { path = "knot2/crates/knot-cobs" }
60knot-index = { path = "knot2/crates/knot-index" }
61knot-cache = { path = "knot2/crates/knot-cache" }
62knot-acl = { path = "knot2/crates/knot-acl" }
63knot-atproto = { path = "knot2/crates/knot-atproto" }
64knot-messages = { path = "knot2/crates/knot-messages" }
65knot-postreceive = { path = "knot2/crates/knot-postreceive" }
66knot-receive = { path = "knot2/crates/knot-receive" }
67knot-ssh = { path = "knot2/crates/knot-ssh" }
68knot-secrets = { path = "knot2/crates/knot-secrets" }
69knot-events = { path = "knot2/crates/knot-events" }
70knot-xrpc = { path = "knot2/crates/knot-xrpc" }
71knot-bench = { path = "knot2/crates/knot-bench" }
72knot-maintenance = { path = "knot2/crates/knot-maintenance" }
73knot-sim = { path = "knot2/crates/knot-sim" }
74knot-edge = { path = "knot2/crates/knot-edge" }
75
76jacquard-axum = "0.12.1"
77jacquard-common = "0.12.1"
78jacquard-derive = "0.12.1"
79jacquard-lexicon = { version = "0.12.1", default-features = false }
80jacquard-identity = { version = "0.12.1", features = ["cache"] }
81jacquard-repo = "0.12.1"
82
83gix = { version = "0.84", features = ["parallel", "revision", "blob-diff", "worktree-archive", "tree-editor", "sha1", "sha256"] }
84gix-pack = { version = "0.71", default-features = false, features = ["generate", "streaming-input", "sha1", "sha256"] }
85gix-packetline = { version = "0.21", features = ["blocking-io"] }
86gix-archive = "0.33"
87gix-hash = { version = "0.25", features = ["sha1", "sha256"] }
88flate2 = "1"
89
90anyhow = "1"
91miette = "7"
92walkdir = "2"
93
94tokio = { version = "1.52", features = ["macros", "rt-multi-thread", "time", "signal", "io-util", "net", "sync"] }
95tokio-util = { version = "0.7", features = ["rt"] }
96tokio-stream = "0.1"
97tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
98futures = "0.3"
99either = "1"
100async-trait = "0.1"
101itertools = "0.14"
102
103serde = { version = "1", features = ["derive"] }
104serde_json = { version = "1", features = ["raw_value"] }
105serde_ipld_dagcbor = "0.6"
106serde_norway = "0.9"
107
108chrono = { version = "0.4", features = ["serde"] }
109cid = "0.11"
110url = { version = "2", features = ["serde"] }
111bytes = "1"
112
113scc = "3"
114roaring = "0.11"
115lasso = { version = "0.7", features = ["multi-threaded"] }
116quick_cache = "0.6"
117moka = { version = "0.12", features = ["sync", "future"] }
118getrandom = "0.4"
119ahash = { version = "0.8", default-features = false, features = ["std"] }
120arc-swap = "1"
121
122reqwest = { version = "0.13", default-features = false, features = ["rustls", "webpki-roots", "http2", "json", "gzip", "stream"] }
123axum = { version = "0.8", features = ["macros"] }
124hyper = { version = "1", features = ["server", "http1", "http2"] }
125hyper-util = { version = "0.1", features = ["server", "server-auto", "tokio", "service"] }
126tower = { version = "0.5", features = ["util", "limit", "load-shed"] }
127tower-http = { version = "0.7", default-features = false }
128tower_governor = { version = "0.8", default-features = false, features = ["axum"] }
129governor = "0.10"
130http = "1"
131http-body = "1"
132httpdate = "1"
133ipnet = "2.10"
134
135rustls = { version = "0.23", features = ["aws_lc_rs", "prefer-post-quantum"] }
136tokio-rustls = { version = "0.26", default-features = false, features = ["aws_lc_rs", "tls12", "logging"] }
137rustls-pemfile = "2"
138rustls-acme = { version = "0.15.3", default-features = false, features = ["aws-lc-rs", "tls12", "webpki-roots"] }
139x509-parser = "0.18"
140quinn = { version = "0.11.9", default-features = false, features = ["runtime-tokio", "rustls-aws-lc-rs", "log"] }
141h3 = "0.0.8"
142h3-quinn = "0.0.10"
143rcgen = { version = "0.14", default-features = false, features = ["aws_lc_rs", "pem"] }
144hickory-resolver = "0.24"
145
146k256 = { version = "0.13", features = ["ecdsa"] }
147aes-gcm = "0.11.0-rc.4"
148hkdf = "0.13"
149sha2 = "0.11"
150base32 = "0.5"
151base64 = "0.22"
152bs58 = "0.5"
153zeroize = { version = "1", features = ["derive"] }
154subtle = "2.6"
155
156wiremock = "0.6"
157tempfile = "3"
158proptest = "1"
159divan = "0.1.21"
160
161tantivy = "0.26"
162gengo-language = "0.14"
163regex = "1"
164globset = "0.4"
165rustix = { version = "1.1", features = ["process"] }
166tikv-jemallocator = "0.7"
167tikv-jemalloc-ctl = "0.7"
168
169tracing = "0.1"
170tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
171
172thiserror = "2"
173
174confique = { version = "0.4", default-features = false, features = ["toml"] }
175clap = { version = "4", features = ["derive", "env"] }
176toml = { version = "0.9", default-features = false, features = ["parse"] }
177
178[patch.crates-io]
179gix-pack = { path = "knot2/third_party/gix-pack" }
180
181[profile.dev]
182opt-level = 1
183
184[profile.release]
185lto = "fat"
186strip = true
187codegen-units = 1
188
189[profile.bench]
190debug = 1
191strip = false
192
193[profile.profiling]
194inherits = "release"
195debug = 1
196strip = false
197lto = "thin"