containerd / containerd/runwasi
Allow configuration of wasmtime features
- 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
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