Rust Wasi

Open-source Rust projects categorized as Wasi

Top 13 Rust Wasi Projects

  • wasmer

    🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten

    Project mention: WebAssembly: A promising technology that is quietly being enshitified | news.ycombinator.com | 2024-05-22

    I applaud the author on how clear he made the argument.

    Note: I work at Wasmer (https://wasmer.io), a WebAssembly runtime.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • wasmtime

    A fast and secure runtime for WebAssembly

    Project mention: wasmtime VS lambda-mountain - a user suggested alternative | libhunt.com/r/wasmtime | 2024-06-10
  • krustlet

    Kubernetes Rust Kubelet

    Project mention: WASM Instructions | news.ycombinator.com | 2024-02-18

    Oh it’s certainly looking like that IMO.

    You can run wasm in k8s: https://krustlet.dev/

    Docker itself can run wasm: https://wasmlabs.dev/articles/docker-without-containers/

    There are a few serverless runtimes based on wasm: https://wasmcloud.com/

    A lot of those are powered by wasmtime or WasmEdge.

    If you’re wanting to be able to just pull down a random app and run it as wasm, that’s inherently harder with wasm, because you have to recompile, and amazing compiling stuff is always harder than it should be. For example I compiled jq to wasm to other day, so you dont have to worry (as much) about the CVEs that was issued recently. https://github.com/rockwotj/jq-wasi

  • runwasi

    Facilitates running Wasm / WASI workloads managed by containerd

    Project mention: Howto: WASM runtimes in Docker / Colima | dev.to | 2024-01-12

    cpu: 4 disk: 60 memory: 12 arch: host hostname: colima autoActivate: true forwardAgent: false # I only tested this with 'docker', not 'containerd': runtime: docker kubernetes: enabled: false version: v1.24.3+k3s1 k3sArgs: [] network: address: true dns: [] dnsHosts: host.docker.internal: host.lima.internal # Added: # - containerd-snapshotter: true (meaning containerd will be used for pulling images) docker: features: buildkit: true containerd-snapshotter: true vmType: vz rosetta: true mountType: virtiofs mountInotify: false cpuType: host # This provisioning script installs build dependencies, WasmEdge and builds the WASM runtime shims for containerd. # NOTE: this takes a LOOONG time! provision: - mode: system script: | [ -f /etc/docker/daemon.json ] && echo "Already provisioned!" && exit 0 echo "Installing system updates:" apt-get update -y apt-get upgrade -y echo "Installing WasmEdge and runwasi build dependencies:" # NOTE: packages curl, git and python3 already installed: apt-get install -y make gcc build-essential pkgconf libtool libsystemd-dev libprotobuf-c-dev libcap-dev libseccomp-dev libyajl-dev libgcrypt20-dev go-md2man autoconf automake criu pkg-config libdbus-glib-1-dev libelf-dev libclang-dev libzstd-dev protobuf-compiler apt-get clean -y - mode: user script: | [ -f /etc/docker/daemon.json ] && echo "Already provisioned!" && exit 0 # # Setting vars for this script: # # Which WASM runtimes to install (wasmedge, wasmtime and wasmer are supported): WASM_RUNTIMES="wasmedge wasmtime wasmer" # # Location of the containerd config file: CONTAINERD_CONFIG="/etc/containerd/config.toml" # # Target location for the WASM runtimes and containerd shims ($TARGET/bin and $TARGET/lib): TARGET="/usr/local" # # Install rustup: # echo "Installing rustup for building runwasi:" curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain none -y source "$HOME/.cargo/env" # # Install selected WASM runtimes and containerd shims: # [[ -z "${WASM_RUNTIMES// /}" ]] && echo "No WASM runtimes selected - exiting!" && exit 0 git clone https://github.com/containerd/runwasi echo "Installing WASM runtimes and building containerd shims: ${WASM_RUNTIMES}:" sudo mkdir -p /etc/containerd/ containerd config default | sudo tee $CONTAINERD_CONFIG >/dev/null for runtimeName in $WASM_RUNTIMES; do case $runtimeName in wasmedge) echo "Installing WasmEdge:" curl -sSfL https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | sudo bash -s -- -p $TARGET echo echo "`wasmedge -v` installed!" ;; wasmtime) echo "Installing wasmtime:" curl -sSfL https://wasmtime.dev/install.sh | bash sudo cp .wasmtime/bin/* ${TARGET}/bin/ rm -rf .wasmtime echo "`wasmtime -V` installed!" ;; wasmer) echo "Installing wasmer:" curl -sSfL https://get.wasmer.io | sh sudo cp .wasmer/bin/* ${TARGET}/bin/ sudo cp .wasmer/lib/* ${TARGET}/lib/ rm -rf .wasmer echo "`wasmer -V` installed!" ;; *) echo "ERROR: WASM runtime $runtimeName is not supported!" exit 1 ;; esac cd runwasi echo "Building containerd-shim-${runtimeName}:" cargo build -p containerd-shim-${runtimeName} --release echo "Installing containerd-shim-${runtimeName}-v1:" sudo install ./target/release/containerd-shim-${runtimeName}-v1 ${TARGET}/bin sudo ln -sf ${TARGET}/bin/containerd-shim-${runtimeName}-v1 ${TARGET}/bin/containerd-shim-${runtimeName}d-v1 sudo ln -sf ${TARGET}/bin/containerd-shim-${runtimeName}-v1 ${TARGET}/bin/containerd-${runtimeName}d echo "containerd-shim-${runtimeName} installed." cd .. echo "[plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.${runtimeName}]" | sudo tee -a $CONTAINERD_CONFIG >/dev/null echo " runtime_type = \"io.containerd.${runtimeName}.v1\"" | sudo tee -a $CONTAINERD_CONFIG >/dev/null done echo "containerd WASM runtimes and shims installed." # # Restart the systemctl services to pick up the installed shims. # NOTE: We need to 'stop' docker because at this point the actual daemon.json config is not yet provisioned: # echo "Restarting/reloading docker/containerd services:" sudo systemctl daemon-reload sudo systemctl restart containerd sudo systemctl stop docker sshConfig: true mounts: [] env: {}

  • wit-bindgen

    A language binding generator for WebAssembly interface types

    Project mention: Wit-Bindgen | news.ycombinator.com | 2024-01-25
  • wasmer-js

    Monorepo for Javascript WebAssembly packages by Wasmer

    Project mention: The New Wasmer JavaScript SDK | news.ycombinator.com | 2023-12-21

    });

    I was then able to just use this code example with one caveat (https://github.com/wasmerio/wasmer-js?tab=readme-ov-file#use...)

    I had to update the SDK import with crossorigin="anonymous"

  • wagi

    Write HTTP handlers in WebAssembly with a minimal amount of work

    Project mention: Reminiscing CGI Scripts | news.ycombinator.com | 2023-12-27

    WAGI and WCGI are the WASM based spiritual successors.

    https://github.com/deislabs/wagi

    https://wasmer.io/posts/announcing-wcgi

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • spiderlightning

    A set of WIT definitions and associated implementations to enable app developers to work at a faster pace and require less knowledge of the environment in which they are executing.

  • containerd-wasm-shims

    containerd shims for running WebAssembly workloads in Kubernetes

  • wasi-rs

    Experimental WASI API bindings for Rust

  • webassembly-tour

    ⚙️ Take you through a tour of WebAssembly (WASM targets on WASI) with wasmCloud, Krustlet, WAGI, etc. 🌟 Give it a star if you like it.

  • wasi-vfs

    A virtual filesystem layer for WASI.

  • wasi-calcit

    Running Calcit on WASI

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Rust Wasi discussion

Log in or Post with

Rust Wasi related posts

  • WebAssembly: A promising technology that is quietly being enshitified

    1 project | news.ycombinator.com | 22 May 2024
  • Unlocking the Power of WebAssembly

    3 projects | dev.to | 10 Mar 2024
  • Wit-Bindgen

    1 project | news.ycombinator.com | 25 Jan 2024
  • Howto: WASM runtimes in Docker / Colima

    5 projects | dev.to | 12 Jan 2024
  • The New Wasmer JavaScript SDK

    2 projects | news.ycombinator.com | 21 Dec 2023
  • Lightweight Containers With Docker and WebAssembly

    1 project | dev.to | 18 Dec 2023
  • Spin 2.0 – open-source tool for building and running WASM apps

    13 projects | news.ycombinator.com | 4 Nov 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 12 Jul 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source Wasi projects in Rust? This list will help you:

Project Stars
1 wasmer 18,233
2 wasmtime 14,818
3 krustlet 3,550
4 runwasi 1,013
5 wit-bindgen 937
6 wasmer-js 895
7 wagi 874
8 spiderlightning 306
9 containerd-wasm-shims 299
10 wasi-rs 247
11 webassembly-tour 147
12 wasi-vfs 146
13 wasi-calcit 1

Sponsored
Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?