about summary refs log tree commit diff
path: root/users/edef/crunch-v2/protos/flatstore.proto
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2024-10-12T22·33+0300
committerclbot <clbot@tvl.fyi>2024-10-12T23·02+0000
commit398a9b531758297417280ccf06b82c85f3d236dd (patch)
tree1cc1461a07db173c2c2594f447d6d584976dcac1 /users/edef/crunch-v2/protos/flatstore.proto
parentb21cb11b7f65d84baca62a0492d63d184e4f5095 (diff)
chore(tvix/tools): move crunch-v2 to //users/edef r/8798
This is not a core Tvix tool, it's some sort of one-off analysis thing.

Change-Id: I05fcbed45abad27d6b5cfd49db1727249dad3971
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12603
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Diffstat (limited to 'users/edef/crunch-v2/protos/flatstore.proto')
-rw-r--r--users/edef/crunch-v2/protos/flatstore.proto38
1 files changed, 38 insertions, 0 deletions
diff --git a/users/edef/crunch-v2/protos/flatstore.proto b/users/edef/crunch-v2/protos/flatstore.proto
new file mode 100644
index 000000000000..2f2838fc75c2
--- /dev/null
+++ b/users/edef/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;
+}