containerd / containerd/runwasi

Allow configuration of wasmtime features

Open
#1,004 3 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
1.3k
Forks
131
PR merge metrics
No merged PRs in 30d

Description

Currently, `containerd-shim-wasmtime-v1` doesn't seem to be able to configure the underlying wasmtime runtime.

https://github.com/containerd/runwasi/blob/7a9c892274a9b4353f7bbd5a0e4132ab51f0624d/crates/containerd-shim-wasmtime/src/instance.rs#L67-L82

This limitation prevent us from running our Wasm OCI artifact, built from component binary that requires `-W function-references,gc` unable to run on the shim. (on k8s, it ends up with `CrashLoopBackOff`).

https://github.com/users/tanishiking/packages/container/package/scala-wasm-echo-server (Wasm OCI artifact built by `wkg oci push` from Wasm component binary that implements `wasi:http/proxy`)

https://github.com/scala-wasm/scala-wasm/tree/scala-wasm/examples/echo-server

Is there a way to configure wasmtime from `runwasi`?

Contributor guide

Open the contributing guide

Research direction

Start in crates/containerd-shim-wasmtime/src/instance.rs at lines 67-82 to trace how the underlying Wasmtime runtime is created. Reproduce the failure with the linked scala-wasm-echo-server component, then determine how runtime features such as function-references and gc could be configured and verify that the Wasm OCI artifact runs successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
backend, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.