kubebuilder-declarative-pattern icon indicating copy to clipboard operation
kubebuilder-declarative-pattern copied to clipboard

Proposal to move KB declarative pattern to an external plugin

Open varshaprasad96 opened this issue 2 years ago • 7 comments
trafficstars

What would you like to be added: This is a follow up based on the conversation in https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/pull/291#issuecomment-1381123158. With the introduction of Phase 2 (out-of-tree external plugins) in Kubebuilder, we now have the flexibility to extend Kubebuilder and build/release any plugin independently outside the KB project. This paves way for smoother version upgrades across projects and eases the maintenance effort.

Given this, we would like to know if we can go ahead with moving the Kubebuilder-declarative-pattern out of Kubebuilder, and building an external plugin for the same. The immediate benefits of this are:

  • KB release need not be blocked on KB-declarative-pattern to upgrade dependencies during every K8s release cycle.
  • The maintenance and release of KB-declarative-plugin can be handled independently, instead of relying on KB.

This would decouple the inter-dependency of both the projects.

varshaprasad96 avatar Jan 14 '23 19:01 varshaprasad96

cc: @camilamacedo86

varshaprasad96 avatar Jan 14 '23 19:01 varshaprasad96

As discussed in controller-runtime office hours, this sounds like a good move for both projects - it's exciting that external plugins are now supported. If anyone wants to work on this they are very welcome to - please just comment here. Otherwise I'll likely tackle it if/when I find time!

justinsb avatar Jan 26 '23 19:01 justinsb

@justinsb I'm interested in working on this, however, I'm still new to the declarative pattern, would that be okay?

em-r avatar Jan 27 '23 01:01 em-r

Of course @em-r - any help would be greatly appreciated. I'm not familiar with the external plugin architecture, but maybe between us we can figure it out :-)

A good way to proceed might be to try copying the plugin code into this repository, and seeing what breaks, and maybe send a WIP PR to enable collaboration and discussion if there's any issues. But happy to work however best suits you!

justinsb avatar Jan 27 '23 13:01 justinsb

Thank you @justinsb Indeed, a WIP PR is definitely a good way to move forward, I'll go ahead and assign the ticket to myself, and send a WIP PR once I copy the plugin code to this repository.

/assign

em-r avatar Jan 27 '23 17:01 em-r

Hi @em-r,

@rashmigottipati and @brycecr are those that who worked out mostly in the plugin phase 2 (external plugins API) code implementation. Also, feel free to ping in the kubebuilder channel and raise questions or issues. We will try to help us much as possible. If we do not know something we can find out :-)

Thank you for looking on that. That is a terrific nice project/initiative that will help a lot !!!

camilamacedo86 avatar Feb 09 '23 22:02 camilamacedo86

@camilamacedo86 - sounds great, I'll definitely reach out in kubebuilder channel, thank you for the support!

em-r avatar Feb 09 '23 23:02 em-r