The plugins that are currently in tree should move out into their own repo for parity with the other providers. (see #1525 and this slack conversation for example)
This also means that plugins can be iterated on separately from the core codebase.
Some code changes that will need to happen to help accomodate this:
velero install do plugin installation at deploy time, and make sure it supports all plugins.It might make sense to have a separate repo per provider -- that way each binary/image can be as small as possible and limited to a single provider's SDK.
De we want to keep the logic that adds velero.io to any plugin name that isn't namespaced with this change? An example
@carlisia assigning this to you. I would definitely like to see a plan/design written up for this as there are a bunch of moving pieces. It may make sense to have one plan/design doc for this, #1740, and #1774 since they're all going to be related.
Things to think about off the top of my head:
Another question: are we moving _just_ the cloud provider plugins out?
I think some plugins, such as the pod -> pvc -> pv backupitemaction ones, make sense to stay in the core repo as they provide some important logic that just happens to be implemented in a plugin.
I personally don't really see any reason to move the item action plugins out, interested to hear others' thoughts.
Thanks for these initial guidelines. Makes sense to me. 馃憤
Also: "each separate repo for plugins will need to push to the same image repo".
Question: should we use go modules with the new plugin repos? This made me think about it: https://twitter.com/markbates/status/1172869341026627584
c/c @skriss @nrb @prydonius
I'm not convinced there's much to gain by moving to modules at the moment. Also, it would seem strange to me to have those repos use go modules but not Velero.
As mentioned in that thread, gopls is still not quite ready - I know I've heard many developers say they've dropped VSCode/gopls for GoLand until gopls is in a better state.
All that said, I need to do more research. I view the tweet as an anecdote, and I need to gather more information.
@carlisia I'm going to consider this done and close out - only thing that's technically left in here is Helm chart docs, but you're working on that and it's not blocking this from being done.
Cool 馃憤
Most helpful comment
I'm not convinced there's much to gain by moving to modules at the moment. Also, it would seem strange to me to have those repos use go modules but not Velero.
As mentioned in that thread,
goplsis still not quite ready - I know I've heard many developers say they've dropped VSCode/goplsfor GoLand untilgoplsis in a better state.All that said, I need to do more research. I view the tweet as an anecdote, and I need to gather more information.