#capability-provider #wascc #wasi #wapc #api-bindings

bin+lib wascc-host

WebAssembly Secure Capabilities Connector (waSCC) Host Runtime

28 releases (13 breaking)

0.14.0 Oct 21, 2020
0.12.0 Sep 1, 2020
0.11.0 Jul 28, 2020
0.5.3 Mar 24, 2020
0.1.5 Dec 20, 2019

#10 in #wapc

Apache-2.0

265KB
4.5K SLoC

crates.io  Rust build  license  documentation

waSCC Host

The WebAssembly Secure Capabilities Connector (waSCC) host library allows consumers to add actor modules, portable capability providers, and native capability providers to a single runtime host and provide each of those modules with their own unique, per-capability configuration. This allows actors to each have their own separate message broker subscriptions, key-value stores, HTTP server ports, etc.

For more information on concepts, architecture, and tutorials, check out wascc.dev.

Examples

To run the examples, simply issue the following command (assuming you have the latest version of Rust installed) from the root wascc-host directory:

$ RUST_LOG=wascc_host=info cargo run --example [example name]

Where the example name is the name (without the .rs) of any of the examples in the examples folder.

Pre-Requisites - For the subscriber example, you will need an instance of NATS running locally. For the kvcounter example, you will need Redis running locally on the default port.

NOTE - All of these examples use native capability providers, and therefore utilize the linux dynamic libraries (.so files). To use these examples on a Mac, you will need to manully build Mac dynamic libraries (.dylib files) and modify the examples to read those files instead.

waSCC on Kubernetes

Looking to deploy waSCC actors on Kubernetes? Check out the krustlet project.

Dependencies

~29–50MB
~1M SLoC