Struct JailerBuilder

Source
pub struct JailerBuilder<'j> { /* private fields */ }
Expand description

Builder for Jailer instances.

Implementations§

Source§

impl<'j> JailerBuilder<'j>

Source

pub fn gid(self, gid: u32) -> Self

GID the jailer switches to as it execs the target binary.

Source

pub fn uid(self, uid: u32) -> Self

UID the jailer switches to as it execs the target binary.

Source

pub fn numa_node(self, numa_node: i32) -> Self

NumaNode represents the NUMA node the process gets assigned to.

Source

pub fn exec_file<P>(self, exec_file: P) -> Self
where P: Into<Cow<'j, Path>>,

The path to the Firecracker binary that will be exec-ed by the jailer.

The user can provide a path to any binary, but the interaction with the jailer is mostly Firecracker specific.

Source

pub fn jailer_binary<P>(self, jailer_binary: P) -> Self
where P: Into<Cow<'j, Path>>,

Specifies the jailer binary to be used for setting up the Firecracker VM jail.

If the value contains no path separators, it will use the PATH environment variable to get the absolute path of the binary. If the value contains path separators, the value will be used directly to exec the jailer. This follows the same conventions as Golang’s os/exec.Command. If not specified it defaults to “jailer”.

Source

pub fn chroot_base_dir<P>(self, chroot_base_dir: P) -> Self
where P: Into<Cow<'j, Path>>,

The base folder where chroot jails are built.

The default is /srv/jailer.

Source

pub fn mode(self, mode: JailerMode<'j>) -> Self

The mode of the jailer process.

Source

pub fn build(self) -> Builder<'j>

Build the Jailer instance.

Returns the main configuration builder with new jailer.

Trait Implementations§

Source§

impl<'j> Debug for JailerBuilder<'j>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'j> Freeze for JailerBuilder<'j>

§

impl<'j> RefUnwindSafe for JailerBuilder<'j>

§

impl<'j> Send for JailerBuilder<'j>

§

impl<'j> Sync for JailerBuilder<'j>

§

impl<'j> Unpin for JailerBuilder<'j>

§

impl<'j> UnwindSafe for JailerBuilder<'j>

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more