Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin development outside pingap source tree #79

Open
atinm opened this issue Jan 3, 2025 · 0 comments
Open

Plugin development outside pingap source tree #79

atinm opened this issue Jan 3, 2025 · 0 comments
Assignees
Labels
Long Term Goal Long Term Goal

Comments

@atinm
Copy link

atinm commented Jan 3, 2025

Have you considered a way to allow plugins to get built independent of the pingap source tree, and be loaded dynamically, possibly as shared library .so files that are loaded from a configured directory of enabled plugins or even using something like https://github.com/extism/extism where pingap becomes an Extism host that can load and run plugins? I want to be able to write plugins that don't require me to fork pingap and add to the pingap/src/plugins source directly. I am not sure what other ways there are in Rust for having external modules get loaded dynamically, but Extism looks very nice as a way to write plugins, possibly even in other languages (though given the interface, it might not be possible to do it in anything but Rust) and not have misbehaving plugins crash pingap.

For example, if I have a proprietary plugin that does very complicated request/response manipulation using pingap as the transparent proxy host, I don't want to have to build it as part of pingap, and instead want to have a separate repository that can build and deploy this plugin separately from pingap releases and just have my running pingap reload the plugin when it is updated.

@vicanso vicanso self-assigned this Jan 4, 2025
@vicanso vicanso added the Long Term Goal Long Term Goal label Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Long Term Goal Long Term Goal
Projects
None yet
Development

No branches or pull requests

2 participants