about summary refs log tree commit diff
path: root/tvix/build/src/oci/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/build/src/oci/mod.rs')
-rw-r--r--tvix/build/src/oci/mod.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/tvix/build/src/oci/mod.rs b/tvix/build/src/oci/mod.rs
new file mode 100644
index 000000000000..a2400c4a6eba
--- /dev/null
+++ b/tvix/build/src/oci/mod.rs
@@ -0,0 +1,16 @@
+mod bundle;
+mod spec;
+
+pub(crate) use bundle::get_host_output_paths;
+pub(crate) use bundle::make_bundle;
+pub(crate) use spec::make_spec;
+
+use std::path::Path;
+
+/// For a given scratch path, return the scratch_name that's allocated.
+// We currently use use lower hex encoding of the b3 digest of the scratch
+// path, so we don't need to globally allocate and pass down some uuids.
+pub(crate) fn scratch_name(scratch_path: &Path) -> String {
+    data_encoding::BASE32
+        .encode(blake3::hash(scratch_path.as_os_str().as_encoded_bytes()).as_bytes())
+}