pub enum SandboxType {
Wasm,
QuickJs,
Nsjail,
}Expand description
Sandbox runtime type for user-supplied plugins.
Variants§
Wasm
Compiled WASM module executed via wasmtime. Best for Rust/Go/C plugins. Sub-millisecond startup, 1-5MB per instance, fuel-budgeted execution.
QuickJs
JavaScript executed via QuickJS (embedded interpreter). Best for tenant scripting — pricing rules, transforms, webhook handlers. Sub-millisecond startup, <1MB per instance, no filesystem/network by default.
Nsjail
Arbitrary executable run inside an nsjail process sandbox. Best when WASM/QuickJS are too restrictive — full Linux userspace with namespace, cgroup, and seccomp isolation. ~10ms startup, near-zero memory overhead, requires nsjail binary.
Trait Implementations§
Source§impl Clone for SandboxType
impl Clone for SandboxType
Source§fn clone(&self) -> SandboxType
fn clone(&self) -> SandboxType
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SandboxType
impl Debug for SandboxType
Source§impl<'de> Deserialize<'de> for SandboxType
impl<'de> Deserialize<'de> for SandboxType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SandboxType
impl PartialEq for SandboxType
Source§impl Serialize for SandboxType
impl Serialize for SandboxType
impl Copy for SandboxType
impl Eq for SandboxType
impl StructuralPartialEq for SandboxType
Auto Trait Implementations§
impl Freeze for SandboxType
impl RefUnwindSafe for SandboxType
impl Send for SandboxType
impl Sync for SandboxType
impl Unpin for SandboxType
impl UnsafeUnpin for SandboxType
impl UnwindSafe for SandboxType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more