f6aee3534b
We previously didn't handle compression in nar-bridge, and left it up to a fronting reverse proxy. However, at least nginx with http2 enabled pins each connection to a single core, causing compression to be limited by the throughput of a single CPU. Change-Id: Ia11c2ff5c012192b25eb8ad05dae5542a2d2f777 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12834 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: Jörg Thalheim <joerg@thalheim.io>
51 lines
1.7 KiB
TOML
51 lines
1.7 KiB
TOML
[package]
|
|
name = "nar-bridge"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
axum = { workspace = true, features = ["http2"] }
|
|
axum-extra = { workspace = true }
|
|
axum-range = { workspace = true }
|
|
tower = { workspace = true }
|
|
tower-http = { workspace = true, features = ["compression-zstd", "trace"] }
|
|
bytes = { workspace = true }
|
|
clap = { workspace = true, features = ["derive", "env"] }
|
|
data-encoding = { workspace = true }
|
|
futures = { workspace = true }
|
|
itertools = { workspace = true }
|
|
prost = { workspace = true }
|
|
nix-compat = { path = "../nix-compat", features = ["async"] }
|
|
opentelemetry = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-listener = { workspace = true, features = ["axum07", "clap", "multi-listener", "sd_listen"] }
|
|
tokio-util = { workspace = true, features = ["io", "io-util", "compat"] }
|
|
tonic = { workspace = true, features = ["tls", "tls-roots"] }
|
|
tower-otel-http-metrics = { workspace = true, optional = true }
|
|
tvix-castore = { path = "../castore" }
|
|
tvix-store = { path = "../store" }
|
|
tvix-tracing = { path = "../tracing", features = ["tonic", "axum"] }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
url = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
lru = { workspace = true }
|
|
parking_lot = { workspace = true }
|
|
mimalloc = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
prost-build = { workspace = true }
|
|
tonic-build = { workspace = true }
|
|
|
|
[features]
|
|
default = ["otlp"]
|
|
otlp = ["tvix-tracing/otlp", "tower-otel-http-metrics"]
|
|
xp-store-composition-cli = ["tvix-store/xp-composition-cli"]
|
|
|
|
[dev-dependencies]
|
|
hex-literal = { workspace = true }
|
|
rstest = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|