about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-10-13T09·52+0300
committerclbot <clbot@tvl.fyi>2024-10-17T17·23+0000
commit42377ba2350f464ec0491e7d568d88eccaf9672b (patch)
tree93aab4c503c3b96dd0e0605c3702b0100de8d6a1
parent6501ee194b5415a7ff0834be5b0412f3d83b753e (diff)
docs(tvix/TODO): drop PathInfo including references by content idea r/8820
This is not gonna work out as-is, as we still key PathInfos by
their store path digest, and how to handle thing if we encounter a
Frankenbuild.

For now, let's keep the PathInfoService data as it is, we can record
this information (and more) in the builder structures.

Change-Id: Ic38fc3ecd8096a5fe002e681bdc812a9dbeaa7d2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12607
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
-rw-r--r--tvix/docs/src/TODO.md27
1 files changed, 0 insertions, 27 deletions
diff --git a/tvix/docs/src/TODO.md b/tvix/docs/src/TODO.md
index e3f867e11ac2..8788d18d8c7e 100644
--- a/tvix/docs/src/TODO.md
+++ b/tvix/docs/src/TODO.md
@@ -136,33 +136,6 @@ Similarly, we also don't properly populate the build environment for
 `fetchClosure` yet. (Note there already is `ExportedPathInfo`, so once
 `structuredAttrs` is there this should be easy.
 
-### PathInfo: include references by content
-In the PathInfo struct, we currently only store references by their names and
-store path hash. Getting the castore node for the content at that store path
-requires another lookup to the PathInfoService.
-
-Due to this information missing, this also means we currently cannot preserve
-information necessary to detect/prevent
-[Frankenbuilds](https://tvl.fyi/blog/tvix-update-february-24#builder-protocol-drv-builder).
-
-We should extend/change the `PathInfo` type to maintain references in a
-`BTreeMap` from store path basename to castore node. Should probably be done
-after PathInfo uses its own data type.
-
-The `NixHTTPPathInfoService` needs to get some more logic to populate the ca
-bits of the references:
-
- - If the referenced store path if not present in our PathInfoService hierarchy,
-   it needs to be ingested too, and persisted.
- - If the referenced store path is present, we can use the castore root from there.
-   In an optional mode, we should parse the .narinfo file for the reference, and
-   compare the nar hash with our local one, to detect Frankenbuilds in a binary
-cache.
-
-As `NixHTTPPathInfoService` now needs to interact with "the PathInfoService"
-hierarchy, we need to accept a pointer to a PathInfoService (hierarchy) that's
-used to check for presence, and PathInfos are inserted into.
-
 ### Builders
 Once builds are proven to work with real-world builds, and the corner cases
 there are ruled out, adding other types of builders might be interesting.