diff options
Diffstat (limited to 'tvix/tools/crunch-v2/protos/flatstore.proto')
-rw-r--r-- | tvix/tools/crunch-v2/protos/flatstore.proto | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tvix/tools/crunch-v2/protos/flatstore.proto b/tvix/tools/crunch-v2/protos/flatstore.proto new file mode 100644 index 000000000000..2f2838fc75c2 --- /dev/null +++ b/tvix/tools/crunch-v2/protos/flatstore.proto @@ -0,0 +1,38 @@ +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; +} |