diff options
author | Florian Klink <flokli@flokli.de> | 2024-10-13T09·52+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-10-17T17·23+0000 |
commit | 42377ba2350f464ec0491e7d568d88eccaf9672b (patch) | |
tree | 93aab4c503c3b96dd0e0605c3702b0100de8d6a1 | |
parent | 6501ee194b5415a7ff0834be5b0412f3d83b753e (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.md | 27 |
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. |