You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
currently it is possible to write plugins for gatewayd in go and also there is a plugin to run js hooks
but it is possible to use wasm, so plugins could be developed in almost any language
projects like lapce zellij use it for their plugin system
check this project too ( https://github.com/knqyf263/go-plugin )
The text was updated successfully, but these errors were encountered:
I had the same idea last year as an internal proposal, and there are some considerations:
The Hashicorp's go-plugin system uses the same approach with gRPC, protobuf and unix domain sockets, and it is technically possible to write plugins in any language that supports gRPC and protobuf. However, I tried to create a plugin (template) in Python, named plugin-template-python, but there were some blockers, so I stopped doing that to focus on more important stuff.
As a matter of fact, GatewayD already uses WebAssembly under the hood in the SDK to enable builds on Windows using the awesome go-pgquery library that uses Wazero internally. This is how the cache plugin has binaries built for Windows. I might revert back to using libpg_query and pg_query_go after they introduced Windows builds, but I haven't found time to do that. Removing reliance on go-pgquery (Wazero) for this means fewer dependencies, smaller binaries and possibly less maintenance overhead.
It would not be as easy to replace the plugin system now, but I am open to ideas and contributions.
currently it is possible to write plugins for gatewayd in go and also there is a plugin to run js hooks
but it is possible to use wasm, so plugins could be developed in almost any language
projects like lapce zellij use it for their plugin system
check this project too ( https://github.com/knqyf263/go-plugin )
The text was updated successfully, but these errors were encountered: