-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
loading of external shared-object plugins #2364
Conversation
6b3d602
to
72e3735
Compare
How about instead versioning the "registry"? Also, they don't need to be in a separate repo. The registry can still be kept within telegraf, as long as it's in a different package (directory) I can put together a demo showing what I mean if it helps. |
versioning it is probably a good idea.
I tried this but I got errors stating |
Put together a quick demo, mostly just for fun, but it shows what I mean, and doesn't have any issues with keeping the common package in the main repo: https://github.com/phemmer/plugtest <-- The main application
|
e1d265b
to
b9f57dd
Compare
I was previously under the impression that just a change in the commit hash was enough to do it. But you're correct, I've just tested it myself and realized that it was because I was modifying the I'll delete the telegraf-registry repo and keep it all within telegraf. Probably will keep the "registry" portion of the code compartmentalized so that we can do the semantic versioning as you've suggested. |
52a54c5
to
5467e69
Compare
this is for supporting external plugins. external plugins will depend on a few telegraf interface types, as well as a common telegraf registry. this will allow external and internal plugins to both share this package and make it easier to vendor/version the whole thing semantically, which will make it easier to keep plugins supported across build and telegraf versions. see #1717
5467e69
to
2eee1b8
Compare
9e57c5f
to
f4e48f9
Compare
closing this in favor of #2373 in that PR we rely on the plugin developer defining a |
this is for supporting external plugins.
external plugins will depend on a few telegraf interface types, as well
as a common telegraf registry.
because the Go 'plugin' package asserts that commit hashes of shared
dependencies must match, we are breaking these shared dependencies into
a separate repo that should very rarely change, which will allow
cross-version plugins to work.
see #1717
Required for all PRs: