about summary refs log tree commit diff
path: root/tvix/castore/docs/data-model.md
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-06-13T19·04+0300
committerclbot <clbot@tvl.fyi>2024-06-14T08·00+0000
commit6947dc4349fa85cb702f46acfe3255c907096b12 (patch)
tree50d50d214a20901b29944e20b722489e0e1c3253 /tvix/castore/docs/data-model.md
parentadc7353bd16d07e13efb7f6a84b9f93601a07705 (diff)
chore(tvix/docs): move [ca]store docs to tvix/docs r/8269
Change-Id: Idd78ffae34b6ea7b93d13de73b98c61a348869fb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11808
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/castore/docs/data-model.md')
-rw-r--r--tvix/castore/docs/data-model.md50
1 files changed, 0 insertions, 50 deletions
diff --git a/tvix/castore/docs/data-model.md b/tvix/castore/docs/data-model.md
deleted file mode 100644
index 5e6220cc23fa..000000000000
--- a/tvix/castore/docs/data-model.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# Data model
-
-This provides some more notes on the fields used in castore.proto.
-
-See `//tvix/store/docs/api.md` for the full context.
-
-## Directory message
-`Directory` messages use the blake3 hash of their canonical protobuf
-serialization as its identifier.
-
-A `Directory` message contains three lists, `directories`, `files` and
-`symlinks`, holding `DirectoryNode`, `FileNode` and `SymlinkNode` messages
-respectively. They describe all the direct child elements that are contained in
-a directory.
-
-All three message types have a `name` field, specifying the (base)name of the
-element (which MUST not contain slashes or null bytes, and MUST not be '.' or '..').
-For reproducibility reasons, the lists MUST be sorted by that name and the
-name MUST be unique across all three lists.
-
-In addition to the `name` field, the various *Node messages have the following
-fields:
-
-## DirectoryNode
-A `DirectoryNode` message represents a child directory.
-
-It has a `digest` field, which points to the identifier of another `Directory`
-message, making a `Directory` a merkle tree (or strictly speaking, a graph, as
-two elements pointing to a child directory with the same contents would point
-to the same `Directory` message).
-
-There's also a `size` field, containing the (total) number of all child
-elements in the referenced `Directory`, which helps for inode calculation.
-
-## FileNode
-A `FileNode` message represents a child (regular) file.
-
-Its `digest` field contains the blake3 hash of the file contents. It can be
-looked up in the `BlobService`.
-
-The `size` field contains the size of the blob the `digest` field refers to.
-
-The `executable` field specifies whether the file should be marked as
-executable or not.
-
-## SymlinkNode
-A `SymlinkNode` message represents a child symlink.
-
-In addition to the `name` field, the only additional field is the `target`,
-which is a string containing the target of the symlink.