finos / git-proxy

Deploy custom push protections and policies on top of Git
https://git-proxy.finos.org
Apache License 2.0
120 stars 95 forks source link

Add first class support for WASM-backed plugins #463

Open M1K8 opened 8 months ago

M1K8 commented 8 months ago

Is your feature request related to a problem? Please describe. If a user wishes to write business logic using existing libraries in other languages (i.e. Go, Rust), if they target WASM they will be able to run it in a plugin context.

Describe the solution you'd like First class support for importing and executing a WASM blob.

JamieSlome commented 8 months ago

Thanks for creating the issue, @M1K8 👍

@coopernetes - thoughts here? You've mentioned WASM before in the context of #99.

coopernetes commented 7 months ago

I'm attaching this to our 2.x milestone. With #425 I think we can absolutely build this in as a first class interface to allow Git Proxy to interact with the non-JS/TS ecosystem. Our first target will be a simple TypeScript API and importing 3rd party code as Node modules. WASM can be a fast-follow once we have that API established.

WASM is the most sensible approach IMO and much preferred over something like C bindings for 3rd party extensions that are not natively supported via Node.

I'm marking this as a roadmap feature and we may need a few releases to iterate on before we can truly implement this.

maoo commented 7 months ago

Thank you @M1K8 for your contributions! I was wondering if you'd be interested to join our bi-weekly Zoom meeting where we coordinate around project activities; if that's the case, please email help@finos.org and I'll send out all the info you need to join. Thank you!