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.
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=info,cranelift_wasm=warn 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.
Looking to deploy waSCC actors on Kubernetes? Check out the krustlet project.