9 releases (breaking)

0.9.0 Jan 28, 2025
0.8.0 Dec 4, 2024
0.7.0 Oct 7, 2024
0.6.0 May 23, 2024
0.1.2 Mar 7, 2023

#134 in WebAssembly

Download history 5/week @ 2024-10-22 30/week @ 2024-10-29 82/week @ 2024-11-05 5/week @ 2024-11-12 8/week @ 2024-11-19 146/week @ 2024-12-03 77/week @ 2024-12-10 4/week @ 2024-12-17 18/week @ 2025-01-07 13/week @ 2025-01-14 127/week @ 2025-01-28 34/week @ 2025-02-04

187 downloads per month

Apache-2.0

320KB
4.5K SLoC

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.

Dependencies

~36–55MB
~1M SLoC

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