Skip to content

Wasm

The WasmPlugin filter runs a WebAssembly binary as a stage in the pipeline. Each event is handed to your plugin, which can transform it, drop it, or expand it into several events — so you can write custom filter logic in any language that compiles to WASM (Go, Rust, Assembly Script, …) without forking Oura.

Requires a custom build

The WASM plugin runtime isn’t in the default binary (it’s large). Build Oura with the wasm feature — see Install from source.

Configuration

daemon.toml
[[filters]]
type = "WasmPlugin"
path = "./extract_fee/plugin.wasm"
  • type (required): the literal value WasmPlugin.
  • path (required): the path to the compiled .wasm plugin to load.

Building a plugin

The wasm_basic example walks through building a plugin in Go, including the expected entry point and how records are passed in and out.