Skip to content

Conversation

@beraldoleal
Copy link
Member

@beraldoleal beraldoleal commented Jan 28, 2026

Hi folks, this seems big, but I hope its easy to review for those that are involved in the helm code at this point.

Before we implement the remaining providers, I'd like you to consider this approach if possible. This is groundwork for removing several map conversions in the code that can now be avoided with helm. Doing it now would avoid more rework later.

  1. This flow is helm-only; kustomize remains unchanged
  2. Eliminates boilerplate code and removes the need for each provider to implement certain APIs
  3. Forces us to write helm values, which helps validate the chart
  4. Implemented for AWS, Docker, libvirt, and Azure, but testing so far has been basic (build and verifying templates generate correctly)

Risk looks low to me (though I might be colorblind to danger)... happy to postpone if needed.

If that makes sense, I can continue testing on that.

Note: I chose to replace helm.go with new code to make reviewing a bit easier, but most of the work there came from Wainer's interface.

@beraldoleal beraldoleal requested a review from a team as a code owner January 28, 2026 22:41
@beraldoleal beraldoleal changed the title libvirt and azure helm provisioning support with cleaner API libvirt and azure helm provisioning support with cleaner API (conflicts with #2809) Jan 28, 2026
@beraldoleal beraldoleal changed the title libvirt and azure helm provisioning support with cleaner API (conflicts with #2809) WiP/RFC: libvirt and azure helm provisioning support with cleaner API (conflicts with #2809) Jan 28, 2026
Once the installation/edit/removal implementation for each provider
tends to be very similar with helm, we could eliminate this API from the
provider side. This change proposes using common code for
install/edit/uninstall across all providers. This way we could eliminate
some boiler plate code.

Each provider just need to return the dinamic values, or what they
"provisioned". Helm will merge those values with the deployment intent.

This would eliminates the need for per-provider Install/Uninstall/Edit
implementations (that could be removed when kustomize is dropped) and
removes unnecessary data transformations and code duplication.

Old flow:
  Workflow creates env vars → properties file → Go map →
  Provider-specific Configure() maps to --set args → helm install

New flow:
  Workflow → helm values YAML + provisioner adds dynamic values → helm -f

Signed-off-by: Beraldo Leal <[email protected]>
libvirt seems to not need any special deployment variable.

Signed-off-by: Beraldo Leal <[email protected]>
same as previous commit

Signed-off-by: Beraldo Leal <[email protected]>
@beraldoleal beraldoleal force-pushed the helm-provisioning-cleanup branch from 498706d to c36f69f Compare January 28, 2026 23:02
@wainersm
Copy link
Member

Hi @beraldoleal ,

I only glanced at the changes and honestly I disliked it because it changes the "philosophy" of the framework. I don't want to go into further details because I think it's not time to make that change, IMO we should focus on what is strictly needed for the 0.18 release. I understand it has boilerplates but it works; IMO we should focus on just covering the other providers.

@beraldoleal
Copy link
Member Author

Hi @beraldoleal ,

I only glanced at the changes and honestly I disliked it because it changes the "philosophy" of the framework. I don't want to go into further details because I think it's not time to make that change, IMO we should focus on what is strictly needed for the 0.18 release. I understand it has boilerplates but it works; IMO we should focus on just covering the other providers.

This is covering the other providers as well.... but I get it, the focus is totally fair. Let's move on.

I will keep it open so we can properly discuss the "philosophy" post 0.18.

@beraldoleal beraldoleal changed the title WiP/RFC: libvirt and azure helm provisioning support with cleaner API (conflicts with #2809) RFC (post 0.18): libvirt and azure helm provisioning support with cleaner API (conflicts with #2809) Jan 29, 2026
@beraldoleal beraldoleal marked this pull request as draft January 29, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants