faas-wasm-runtime

Crates.iofaas-wasm-runtime
lib.rsfaas-wasm-runtime
version0.1.0
sourcesrc
created_at2020-02-14 08:56:08.50438
updated_at2020-02-14 08:56:08.50438
descriptionFunction as a service runtime image for WASI modules
homepage
repository
max_upload_size
id208360
size8,484
Daniel Bevenius (danbev)

documentation

README

FaaS WASI Runtime Image

This project is investigation/playground to figure out what might work

The idea here is to enable WebAssembly modules, possibly using the WebAssembly System Interface (WASI), to be executed as OpenShift Cloud Function. An end user would have a WASM module they would like to expose as a function. This WASM module could either be a module written and bundled with the users project, or could be a WASM module in the Web Assembly Package Manager (wapm) or in any other package manager, for example Node.js Package Manager (npm).

The idea is that an end user in this case would write the code needed to extract any required parameters the .wasm module takes from the HTTP request, and take the result from the execution of the .wasm module and place it into the HTTP response. Exactly how this would look still needs to be throught through.

This project contains a library that end users can use to implements this and also contains a base container image to be used in a FAAS environment.

Building

To build the base image, run the following command:

$ docker build -t dbevenius/wasm-base-image . 

Then to publish:

$ docker login
$ docker push dbevenius/wasm-base-image

Publishing

$ cargo login <api access token>
$ cargo publish --dry-run
Commit count: 0

cargo fmt