||3 weeks ago|
|databook-rs||3 weeks ago|
|web||3 weeks ago|
|wit||3 weeks ago|
|.gitignore||4 weeks ago|
|LICENSE||4 weeks ago|
|README.md||3 weeks ago|
Databook - Notebook with wasm plugins
The base idea is to create a notebook system, where users can write WASM plugins in order to enrich their experience. Those plugins can run on the front-end or in the backend.
To learn a bit of wasm and rust
Databook-rs is the brain behind the backend wasm plugins, it's a simple runtime platform that responds to the inputs from users selecting the appropriate plugin.
databook-rs/examples/plugins contain examples of how the plugins must be written. While
plugins contain some of those examples compiled down to wasm already.
Databook-rs exposes a grpc service. The plugins are loaded from a specific folder. Plugins are made of a
config.toml and a
plugin.wasm must conform with
wit/plugin.wit interface, you can use wit-bindgen to generate the boilerplate code. The runtime exposes to all the plugins
wit/runtime.wit (e.g. http_request methods, env variables). The
config.toml must specify which env variables it want access to, and only those will be given to the service (e.g. for credentials, options and so on).
All plugins are run independently of each other and from previous execution. So it's not possible to leak information between two requests.
Databook-rs uses wasmtime.