feat(tvix/nar-bridge): support uploading NAR files
This ingests NAR files into the {Blob,Directory}Service, which are
already part of the AppState.
As we then need to correlate the root node to the uploaded PathInfo, we
need to keep a (short-lived) lookup table from NARHash to root node
around. We insert it into a `LruCache` after the NAR is uploaded, and
use `peek()` to do the lookup, which doesn't update the LRU list.
Change-Id: I48a4c6246bacf76559c5a4ccad2a0bc25c1b7900
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11986
Tested-by: BuildkiteCI
Reviewed-by: Brian Olsen <me@griff.name>
This commit is contained in:
parent
861cc1f341
commit
5d906054da
5 changed files with 158 additions and 13 deletions
|
|
@ -8,6 +8,7 @@ axum = { version = "0.7.5", features = ["http2"] }
|
|||
bytes = "1.4.0"
|
||||
clap = { version = "4.0", features = ["derive", "env"] }
|
||||
data-encoding = "2.3.3"
|
||||
futures = "0.3.30"
|
||||
itertools = "0.12.0"
|
||||
prost = "0.12.1"
|
||||
nix-compat = { path = "../nix-compat", features = ["async"] }
|
||||
|
|
@ -23,6 +24,8 @@ tracing = "0.1.37"
|
|||
tracing-subscriber = "0.3.16"
|
||||
url = "2.4.0"
|
||||
serde = { version = "1.0.204", features = ["derive"] }
|
||||
lru = "0.12.3"
|
||||
parking_lot = "0.12.3"
|
||||
|
||||
[build-dependencies]
|
||||
prost-build = "0.12.1"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue