tvl-depot/tvix/nar-bridge/pkg/http
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
..
nar_get.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
nar_put.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
narinfo.go feat(tvix/nar-bridge): add ToNixNarInfo() 2023-10-09 22:05:02 +00:00
narinfo_get.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
narinfo_put.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
server.go refactor(tvix/nar-bridge): have Export return root node 2023-10-11 11:41:50 +00:00
util.go refactor(tvix/nar-bridge): move pkg/server to pkg/http 2023-10-05 06:17:10 +00:00