Runwasi - A containerd shim which runs wasm workloads in wasmtime

Related tags

DevOps Tools runwasi
Overview

containerd-shim-wasmtime-v1

This is a containerd shim which runs wasm workloads in wasmtime. You can use it with containerd's ctr by specifying --runtime=io.containerd.wasmtime.v1 when creating the container. The shim binary must be in $PATH (that is the $PATH that containerd sees).

You can use the test image provided in this repo to have test with, use make load to load it into containerd. Run it with ctr run --rm --runtime=io.containerd.wasmtime.v1 docker.io/library/wasmtest:latest testwasm. You should see some output like:

Hello from wasm!

The test binary supports some other commands, see test/image/wasm.go to play around more.

Build

$ make build

Install

$ sudo make install
Issues
  • Add troubleshooting guide

    Add troubleshooting guide

    Currently there is no troubleshotting guide. People might find it hard to follow readme to produce a hello world example.

    Known issues are, but not limited to:

    1. containerd currently only support Linux. So in order to build runwasi, either you need to have a linux machien or run it in WSL on Windows
    2. docker buildx is a dependency
    3. make load is broken
    enhancement 
    opened by Mossaka 5
  • Move wasi impl to separate crate

    Move wasi impl to separate crate

    The repo has a few binaries and a wasi implementation that is fairly tied to wasmtime. #15 makes the core library runtime agnostic, meaning it does not depend on wasmtime.

    In order to completely remove wasmtime as a dependency from the core library it may be useful to move the binaries along with the Wasi instance implementation into a separate crate (of course both crates can be in this repo).

    opened by cpuguy83 1
  • feat: generic engine in the shim library

    feat: generic engine in the shim library

    This PR implements a generic engine to the shim library. This removes the dependency on wasmtime::Engine in the library entirely, and it is up to the implementation to decide what instance of the engine should be.

    opened by Mossaka 0
  • add the runner os release env var

    add the runner os release env var

    The RUNNER_OS env var was not set in the release job, so it made the release artifact name look like it has an extra "-". This adds the env var.

    This var will likely be useful in the future when building for multiple architectures / OSes.

    opened by devigned 0
  • rust: add sandboxing daemon

    rust: add sandboxing daemon

    This runs the shim in a mode where there is 1 daemon that runs multiple shims in-process. This allows a host implementation to be shared and has reduced overhead.

    opened by cpuguy83 0
  • Document full set up with k3s

    Document full set up with k3s

    There is a large amount of assumed knowledge and set up in the current instructions so it would be useful to have documentation of a full run through of setup and usage with k3s.

    I'm working on getting this running in my lab using k3s. If I get it all working, I can write up the commands I used.

    documentation question 
    opened by agracey 1
Releases(v0.1.0)
Owner
Brian Goff
Brian Goff
Fast docker image distribution plugin for containerd, based on CRFS/stargz

[ ⬇️ Download] [ ?? Browse images] [ ☸ Quick Start (Kubernetes)] [ ?? Quick Start (nerdctl)] Stargz Snapshotter Read also introductory blog: Startup C

containerd 662 Aug 12, 2022
Repositório para a aula sobre integração do containerd com Golang

Integrando containers nativamente usando Golang Este é o código finalizado da aplicação Já pensou em uma alternativa ao Docker? Que tal manipular cont

Rocketseat Experts Club 3 May 4, 2021
Container-Explorer is a tool to explore containerd installation on a mounted image.

Container-Explorer Container-Explorer is a tool to explore containerd installation on a mounted image. Container-Explorer attempts to provide the simi

Google 22 Aug 3, 2022
Installs containerd on Windows, optionally with default CNI plugins

containerd-installer Installs containerd on Windows, optionally with default CNI plugins Usage NAME: containerd-installer.exe - Install containerd

Markus Lippert 10 Aug 3, 2022
Nydus-snapshotter - A containerd snapshotter with capability of on-demand read

Nydus Snapshotter Nydus-snapshotter is a non-core sub-project of containerd. Pul

containerd 38 Aug 4, 2022
This process installs onto kubernetes cluster(s) and provisions workloads designated by the uffizzi interface

Uffizzi Cloud Resource Controller This application connects to a Kubernetes (k8s) Cluster to provision Uffizzi users' workloads on their behalf. While

Uffizzi 11 Jun 17, 2022
OpenAIOS is an incubating open-source distributed OS kernel based on Kubernetes for AI workloads

OpenAIOS is an incubating open-source distributed OS kernel based on Kubernetes for AI workloads. OpenAIOS-Platform is an AI development platform built upon OpenAIOS for enterprises to develop and deploy AI applications for production.

4Paradigm 74 Jun 2, 2022
Natural-deploy - A natural and simple way to deploy workloads or anything on other machines.

Natural Deploy Its Go way of doing Ansibles: Motivation: Have you ever felt when using ansible or any declarative type of program that is used for dep

Akilan Selvacoumar 0 Jan 3, 2022
Kube-step-podautoscaler - Controller to scale workloads based on steps

Refer controller/*controller.go for implementation details and explanation for a better understanding.

Danish Prakash 5 Jul 22, 2022
Feels like Cloud Foundry. Runs on Kubernetes.

Migrate Cloud Foundry applications to Kubernetes using Kf As your teams standardize on Kubernetes, migrating applications from existing platforms like

Google 357 Aug 2, 2022
vcluster - Create fully functional virtual Kubernetes clusters - Each cluster runs inside a Kubernetes namespace and can be started within seconds

Website • Quickstart • Documentation • Blog • Twitter • Slack vcluster - Virtual Clusters For Kubernetes Lightweight & Low-Overhead - Based on k3s, bu

Loft Labs 1.8k Aug 7, 2022
rld is a tiny tool that runs a go program and watch changes on it.

RLD rld is a tiny tool that runs a go program and watch changes on it. rld was inspired by Nodemon Installation Clone the git repository and build: $

Francis Sunday 10 Jun 13, 2022
Opinionated platform that runs on Kubernetes, that takes you from App to URL in one step.

Epinio Opinionated platform that runs on Kubernetes, that takes you from App to URL in one step. Contents Epinio Contents What problem does Epinio sol

Julien ADAMEK 1 Jun 27, 2022
GoScanPlayers - Hypixel online player tracker. Runs as an executable and can notify a Discord Webhook

GoScanPlayers Hypixel online player tracker. Runs as an executable and can notif

null 0 Feb 17, 2022
A simple project (which is visitor counter) on kubernetesA simple project (which is visitor counter) on kubernetes

k8s playground This project aims to deploy a simple project (which is visitor counter) on kubernetes. Deploy steps kubectl apply -f secret.yaml kubect

null 11 Mar 23, 2022
Tool which gathers basic info from apk, which can be used for Android penetration testing.

APKSEC Tool which gathers basic info from apk, which can be used for Android penetration testing. REQUIREMENTS AND INSTALLATION Build APKSEC: git clon

Jayateertha Guruprasad 2 Mar 23, 2022
An operator which complements grafana-operator for custom features which are not feasible to be merged into core operator

Grafana Complementary Operator A grafana which complements grafana-operator for custom features which are not feasible to be merged into core operator

Snapp Cab Incubators 6 Jul 18, 2022
A kubernetes plugin which enables dynamically add or remove GPU resources for a running Pod

GPU Mounter GPU Mounter is a kubernetes plugin which enables add or remove GPU resources for running Pods. This Introduction(In Chinese) is recommende

XinYuan 72 Jul 18, 2022
A sub module of EdgeGallery MECM which responsible for the app lifecycle management

mecm-applcm Description Application life cycle manager is part of MEP manager whose responsibility is to handle the host level life cycle management i

EdgeGallery 21 Jan 10, 2022