-
Notifications
You must be signed in to change notification settings - Fork 94
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
META - Extension mechanism enhancements #1894
Comments
Thanks for starting this discussion, @iameskild. Really excited to get this extensions rewrite out the door. Ken and I will be spending some time this week testing all this in preparation for release, at least on the AWS side. Aside from any issues that come out of that, here are some of my thoughts from having worked with the plugins so far.
Completely agree with this point. Auto-installing plugins based on what's found in the environment has revealed several logical problems already.
While I agree a reusable component that would serve to configure Keycloak clients and whatnot for downstream plugins would be valuable, my concern with creating a provider (presumably without Terraform) would just lead to reinventing the Terraform provider. Would like to maybe discuss what the failings of the Terraform approach are and brainstorm solutions to those before reinventing any wheels.
I think this one is going to be critical for breaking out of the Terraform mold, as the current inheritance based approach coupled with the limitations in managing subcomponents is naturally leading us to a single stage + Terraform lowest common denominator pattern. Being able to more easily split plugins into subcomponents would improve testability and maintainability, as well as expanding options for non-Terraform solutions where appropriate.
Suggest maybe moving toward something like External DNS as a more versatile solution. The Cloudflare auto-provision is helpful for my specific case but is overly specific to Cloudflare and can't realistically be expanded to cover other DNS providers without a ton of work. Other issues/items I'd add to the conversation:
I'll probably have more to add to this, just wanted to get some initial thoughts down. |
Can we start splitting these into individual issues and linking them above. It feels like several of these coould be worked on independently and a few need to be coupled and worked on by one person. This is a good meta issue but have smaller individual tasks should help us divide and conquer and move forward. Great discussion by the way I like where this is going. |
+1, I suggest using GitHub's tasklists - it's a little buggy but convenient to convert tasks into issues as required + track them. |
Okay the open tasks have been converted to individual issues. Originally we also included:
For item one:
For item two:
|
"Composition over Inheritance"
NebariStage
-->NebariTerraformStage
-->KubernetesInfrastructureStage
). This means there is a higher likelihood of changes that are made to base classes causing breaking changes for their inherited class.render
deploy
destroy
Tasks
The text was updated successfully, but these errors were encountered: