tvl-depot/tvix/nar-bridge/pkg/importer
Florian Klink 98c17147c6 refactor(tvix/nar-bridge): have Export return root node
… and nar size / sha256 digest.

Instead of producing sparse PathInfo messages when NARs are sent to
nar-bridge, the nar-bridge http server now keeps a lookup table
(narsha256) -> (rootNode, narSize)

This removes a whole bunch of noise, because we don't need to keep
sparse fields around.

A convenience function
`GenPathInfo(rootNode *castorev1pb.Node, narInfo *narinfo.NarInfo)` is
added, which is used to produce PathInfo messages, either when receiving
a NAR file over http and uploading it to a remote PathInfoService, or to
synthesize the PathInfoMessage to return to the client, if nar-bridge is
acting as a PathInfoService for a remove Nix HTTP Binary cache.

Change-Id: Ibba1ab6238a050816c4fab29cb21ae88877d8613
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9651
Tested-by: BuildkiteCI
Reviewed-by: Brian McGee <brian@bmcgee.ie>
2023-10-11 11:41:50 +00:00
..
blob_upload.go refactor(tvix/nar-bridge): move blob cb function to pkg/importer 2023-10-05 06:17:10 +00:00
counting_writer.go refactor(tvix/nar-bridge): combine writers/readers 2023-10-05 06:17:10 +00:00
directory_upload.go refactor(tvix/nar-bridge): do root directory dgst check in uploader 2023-10-05 15:02:12 +00:00
gen_pathinfo.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
importer.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
importer_test.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
roundtrip_test.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
util_test.go chore(tvix/nar-bridge): move to Export from storev1pb 2023-10-10 19:08:29 +00:00