Crate containerd_shim_wasm

Source
Expand description

runwasi logo

§containerd-shim-wasm

A library to help build containerd shims for wasm workloads.

§Usage

Implement the Instance trait, then call run, for example,

use std::time::Duration;
use chrono::{DateTime, Utc};

use containerd_shim as shim;
use containerd_shim_wasm::sandbox::{Error, Instance, InstanceConfig, ShimCli};

struct MyInstance {
    // ...
}

impl Instance for MyInstance {
    type Engine = ();

   fn new(_id: String, _cfg: &InstanceConfig) -> Result<Self, Error> {
       todo!();
    }
    fn start(&self) -> Result<u32, Error> {
       todo!();
    }
    fn kill(&self, signal: u32) -> Result<(), Error> {
       todo!();
    }
    fn delete(&self) -> Result<(), Error> {
       todo!();
    }
    fn wait_timeout(&self, t: impl Into<Option<Duration>>) -> Option<(u32, DateTime<Utc>)> {
       todo!();
    }
}

shim::run::<ShimCli<MyInstance>>("io.containerd.myshim.v1", None);

containerd expects the shim binary to be installed into $PATH (as seen by the containerd process) with a binary name like containerd-shim-myshim-v1 which maps to the io.containerd.myshim.v1 runtime which would need to be configured in containerd. It (containerd) also supports specifying a path to the shim binary but needs to be configured to do so.

This crate is not tied to any specific wasm engine.

Modules§

container
This module contains an API for building WebAssembly shims running on top of containers. Unlike the sandbox module, this module delegates many of the actions to the container runtime.
sandbox
Abstracts the sandboxing environment and execution context for a container.

Macros§

revision
version
with_lease

Structs§

Config
Config of shim binary options provided by shim implementations
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy