create_filesystem

Function create_filesystem 

Source
pub fn create_filesystem<ObjectID: FsVerityHashValue>(
    repo: &Repository<ObjectID>,
    config_name: &str,
    config_verity: Option<&ObjectID>,
) -> Result<FileSystem<ObjectID>>
Expand description

Creates a filesystem from the given OCI container. No special transformations are performed to make the filesystem bootable.

OCI container layer tars often don’t include a root directory entry, and when they do, container runtimes typically ignore it (using hardcoded defaults instead). This makes root metadata non-deterministic. To ensure consistent digests, this function copies root metadata from /usr after processing all layers. See: https://github.com/containers/storage/pull/743

If config_verity is given it is used to get the OCI config splitstream by its fs-verity ID and the entire process is substantially faster. If it is not given, the config and layers will be hashed to ensure that they match their claimed blob IDs.