tvl-depot/tvix/tools/crunch-v2/protos/flatstore.proto
edef 4f22203a3a feat(tvix/tools/crunch-v2): init
This is a tool for ingesting subsets of cache.nixos.org into its own flattened castore format.
Currently, produced chunks are not preserved, and this purely serves as a way of measuring
compression/deduplication ratios for various chunking and compression parameters.

Change-Id: I3983af02a66f7837d76874ee0fc8b2fab62ac17e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10486
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-01-27 18:23:40 +00:00

38 lines
650 B
Protocol Buffer

syntax = "proto3";
package tvix.flatstore.v1;
message Path {
bytes nar_hash = 1;
oneof node {
DirectoryNode directory = 2;
FileNode file = 3;
SymlinkNode symlink = 4;
}
}
message DirectoryNode {
bytes name = 1;
repeated DirectoryNode directories = 2;
repeated FileNode files = 3;
repeated SymlinkNode symlinks = 4;
}
message FileNode {
bytes name = 1;
bytes hash = 2;
repeated Chunk chunks = 3;
bool executable = 4;
}
message Chunk {
bytes hash = 1;
uint32 size = 2;
uint32 size_compressed = 3;
}
message SymlinkNode {
bytes name = 1;
bytes target = 2;
}