containerd-shim-wasm

Crates.iocontainerd-shim-wasm
lib.rscontainerd-shim-wasm
version0.6.0
sourcesrc
created_at2023-03-06 21:31:37.004867
updated_at2024-05-23 00:17:07.394018
descriptionLibrary for building containerd shims for wasm
homepagehttps://github.com/containerd/runwasi
repositoryhttps://github.com/containerd/runwasi
max_upload_size
id803015
size191,166
runwasi-committers (github:containerd:runwasi-committers)

documentation

README

runwasi logo

containerd-shim-wasm

A library to help build containerd shims for wasm workloads.

Usage

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

fn main() {
    shim::run::<ShimCli<Nop>>("io.containerd.nop.v1", opts);
}

The above example uses the built-in Nop instance which does nothing. You can build your own instance by implementing the Instance trait.

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

struct MyInstance {
 // ...
}

impl Instance for MyInstance {
    // ...
}

fn main() {
    shim::run::<ShimCli<MyInstance>>("io.containerd.myshim.v1", opts);
}

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.

Commit count: 1039

cargo fmt