johnandersen777.bsky.social/knotless
git that lives in your Atmosphere account
Forked from chadtmiller.com/knotless
0
0
[workspace]
members = ["crates/knotless", "crates/knotless-serve", "crates/knotless-mcp", "crates/knotless-run", "crates/knotless-triage", "crates/knotless-agent"]
resolver = "3"
[workspace.package]
version = "0.12.0"
edition = "2024"
license = "MIT OR Apache-2.0"
rust-version = "1.89"
[workspace.dependencies]
knotless = { path = "crates/knotless" }
# atproto's primitives, from their own repository's registry (.cargo/config.toml).
atproto = { version = "0.1.1", registry = "atproto" }
anyhow = "1"
base64 = "0.22"
futures = "0.3"
humantime = "2"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "http2", "gzip"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "process", "fs", "io-util", "time", "sync", "net", "io-std", "signal"] }
axum = "0.8"
ciborium = "0.2"
tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
flate2 = "1"
tokio-util = { version = "0.7", features = ["io"] }
tempfile = "3"
rustix = { version = "1", features = ["fs", "process"] }
k256 = { version = "0.13", features = ["ecdsa"] }
p256 = { version = "0.13", features = ["ecdsa", "ecdh"] }
# 0.12, for p256 0.13 and rand_core 0.6 as the rest of the workspace has.
hpke = { version = "0.12", default-features = false, features = ["alloc", "p256"] }
rand_core = { version = "0.6", features = ["getrandom"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", default-features = false, features = ["std", "fmt", "json", "env-filter", "registry"] }
# Every worktree keeps its own target/, so debug info is kept small: line
# tables for our crates, none for dependencies.
[profile.dev]
debug = "line-tables-only"
[profile.dev.package."*"]
debug = false
[profile.release]
lto = "thin"
codegen-units = 1
strip = true
# The image a deploy builds (Dockerfile), at each push to main: built for
# the build's time over the last percent of speed. The crates a push
# changes are rebuilt each time, knotless-serve the longest of them, which
# in one codegen unit and across crates' LTO took 280 of a deploy's 310s,
# its codegen on one core. In 16 units, without LTO across crates (but
# across a crate's own units), it goes over every core; for a server
# that waits on the network and disk, what that costs at run time is lost
# in the noise. The client's releases (deploy/release.sh) keep `release`.
[profile.deploy]
inherits = "release"
lto = false
codegen-units = 16