esrlabs / chipmunk

log analysis tool
Apache License 2.0
553 stars 39 forks source link

Add Plugins Support with WebAssembly #2056

Open AmmarAbouZor opened 1 month ago

AmmarAbouZor commented 1 month ago

This PR still works in progress...

It will provide a plugin system for Chipmunk using WASM with wasmtime runtime and the component model definitions.

The Communication API between Chipmunk and the plugins is defined via WIT files, and the plugins could be written basically in any language which supports compiling to web assembly and the component model proposal.

For Plugins written in Rust we will provide a crate which will take care of generating the bindings form the wit files and provides all the needed functionalities for development (like logging).

The plugin system will offer writing plugins in the following areas:

Roadmap:

Parser:

Byte Source:

Provider:

TODO