casey / casey/intermodal

Initial Manifest Support Tracking Issue

Open
#363 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
659
Forks
36
Avg merge
18m
Merged PRs (30d)
2

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.