4f22203a3a
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>
38 lines
650 B
Protocol Buffer
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;
|
|
}
|