roche icon indicating copy to clipboard operation
roche copied to clipboard

Add WASI support

Open No9 opened this issue 4 years ago • 1 comments

Given the separation we have between functions.rs and the build system it should be fairly trivial to output the executable as a WASI file. The base rust image https://quay.io/repository/roche/alpine-libgcc would need to be updated to include the wasm32 target rustup target add wasm32-wasi and the build system would have to add cargo build --target wasm32-wasi to the cargo commands. https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-tutorial.md#from-rust

Rather than packaging to a runtime container https://github.com/roche-rs/roche/blob/main/src/template/Release.Dockerfile#L5 It might be better to wrap the outputs with an OCI https://github.com/engineerd/wasm-to-oci

And possibly utilised in something like https://github.com/deislabs/krustlet It would be good to understand what the potential deployment targets are for a WASM service. Research to be captured here.

No9 avatar Jan 03 '21 02:01 No9

Cargo already has a fully integrated WASI stack https://github.com/bytecodealliance/cargo-wasi Networking has yet to land in WASI https://github.com/WebAssembly/WASI/pull/312 Minipot is a FreeBSD container platform based on Nomad that could target such an environment https://github.com/pizzamig/minipot

No9 avatar Jan 05 '21 02:01 No9