Merger

Struct Merger 

Source
pub struct Merger {}
Expand description

Struct to generate the merged RAFS bootstrap for an image from per layer RAFS bootstraps.

A container image contains one or more layers, a RAFS bootstrap is built for each layer. Those per layer bootstraps could be mounted by overlayfs to form the container rootfs. To improve performance by avoiding overlayfs, an image level bootstrap is generated by merging per layer bootstrap with overlayfs rules applied.

Implementations§

Source§

impl Merger

Source

pub fn merge( ctx: &mut BuildContext, parent_bootstrap_path: Option<String>, sources: Vec<PathBuf>, blob_digests: Option<Vec<String>>, original_blob_ids: Option<Vec<String>>, blob_sizes: Option<Vec<u64>>, blob_toc_digests: Option<Vec<String>>, blob_toc_sizes: Option<Vec<u64>>, target: ArtifactStorage, chunk_dict: Option<PathBuf>, config_v2: Arc<ConfigV2>, ) -> Result<BuildOutput>

Overlay multiple RAFS filesystems into a merged RAFS filesystem.

§Arguments
  • sources: contains one or more per layer bootstraps in order of lower to higher.
  • chunk_dict: contain the chunk dictionary used to build per layer boostrap, or None.

Auto Trait Implementations§

§

impl Freeze for Merger

§

impl RefUnwindSafe for Merger

§

impl Send for Merger

§

impl Sync for Merger

§

impl Unpin for Merger

§

impl UnwindSafe for Merger

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.