tremor-rs / tremor-runtime

Main Tremor Project Rust Codebase
https://www.tremor.rs
Apache License 2.0
842 stars 127 forks source link

Plugin Development Kit ( PDK ) #791

Open darach opened 3 years ago

darach commented 3 years ago

Describe the problem you are trying to solve

The plugin development kit ( PDK ) is an interface that allows developers to develop plugins to tremor with a minimal set of dependencies rather than having to build the full tremor runtime with its full set of dependencies.

Describe the solution you'd like

Separating plugins from the runtime has many advantages:

There is an existing RFC for tremor that covers the requirements in depth:

https://rfcs.tremor.rs/0006-plugin-development-kit/

Suggested initial target:

Enhancements to initial target:

Notes

RFC https://rfcs.tremor.rs/0006-plugin-development-kit/

Raman-Kumar commented 3 years ago

hi, I have just learned the kubernates and studying the source code. Can I contribute to this PDK or I need more experience.

marioortizmanero commented 3 years ago

As the maintainers of Tremor already know, I was preparing myself to work on this project during the summer via the Google Summer of Code. My proposal wasn't accepted in the end so I won't be able to continue, but the research I made is probably worth taking a look at for whoever attempts this next. I'm posting it here so that it's not lost in the Discord server:

Cheers!

Licenser commented 3 years ago

you are a legend mate!

marioortizmanero commented 2 years ago

Surprise update! Please read my new blog post for more progress on this issue: https://nullderef.com/blog/plugin-start/

marioortizmanero commented 2 years ago

New update on dynamic loading: https://nullderef.com/blog/plugin-dynload/

Next up... abi_stable :)

darach commented 2 years ago

I love update day 🤘

marioortizmanero commented 2 years ago

@darach the RFC link has been updated to this, please change it: https://www.tremor.rs/rfc/accepted/plugin-development-kit

marioortizmanero commented 2 years ago

Tracking comment for Connectors PDK

Pull Requests:

Currently tracking my progress here: https://github.com/marioortizmanero/tremor-runtime/projects/1

marioortizmanero commented 2 years ago

Forgot to link the last update!

"Plugins in Rust: Reducing the Pain with Dependencies" - https://nullderef.com/blog/plugin-abi-stable/

The next one should be out in February :)

marioortizmanero commented 2 years ago

New article after the implementation of the first version!

"Plugins in Rust: Getting our Hands Dirty" - https://nullderef.com/blog/plugin-impl/

marioortizmanero commented 1 year ago

Here's the final article of the series, concluding my work: "Plugins in Rust: Wrapping Up" - https://nullderef.com/blog/plugin-end/.

It's been a pleasure to work with Tremor, really. I will be around for any doubts anyone may have. And I really look forward to seeing how the plugin system continues to evolve :)