Initial Manifest Support Tracking Issue
casey opened this issue · 0 comments
After much thought about the manifest format, including starting to write my own format, I'm going to go with the following for the initial implementation:
-
Manifest data will be in
imdl
directory in root. This is unlikely to conflict with anything, and gives people a term to search for. -
Initial format will be Bencode. Bencode + Serde support is already integrated into the project. Although it's slow, there is no perfect choice here. At a later date, it's possible that there will be a transition in manifest formats.
-
Hashes will be Blake3 hash of each file.t
-
Structure will likely be a list of hashes, and then a directory structure where the leaf data is the index of the hash of that file.
-
Initial functionality will be adding a manifest to a release, and verifying hashes in that manifest against the files on disk.
-
Also important will be calculating a stable hash of the root manifest, that commits to all data, so the hash of the manifest can be communicated and used for verification.