cloud-providers: Generate provider configs with all options uncommented - #3084
Open
Hru-s wants to merge 2 commits into
Open
cloud-providers: Generate provider configs with all options uncommented#3084Hru-s wants to merge 2 commits into
Hru-s wants to merge 2 commits into
Conversation
beraldoleal
reviewed
May 26, 2026
beraldoleal
left a comment
Member
There was a problem hiding this comment.
hey @Hru-s , thank you.
Please rebase so we can run the tests.
Hru-s
force-pushed
the
fix/uncomment-provider-configs
branch
5 times, most recently
from
June 4, 2026 06:07
8a9588d to
3c9c896
Compare
Change the gen-provider-values jq script to emit all config keys as
real YAML keys instead of comments, and remove the empty map {}
fallback for providers with no required flags.
Previously, non-required flags were written as YAML comments
(e.g. "# LIBVIRT_MEMORY: "8192"") and providers without required
flags got "providerConfigs.<name>: {}". This caused providerConfigs
to be treated as nil in some tooling (notably the Terraform Helm
provider), breaking --set-literal overrides on keys under that section.
After this change, all config keys are emitted as real YAML entries
with their Go-hardcoded defaults, ensuring providerConfigs is always
a concrete map. Runtime behavior is unchanged since the defaults
match what the Go code already uses, and empty strings are handled
gracefully.
Fixes: confidential-containers#2856
Signed-off-by: Hrushikesh Nakka <hrushikeshnakka@gmail.com>
Hru-s
force-pushed
the
fix/uncomment-provider-configs
branch
from
June 4, 2026 06:08
3c9c896 to
30cdebe
Compare
ldoktor
approved these changes
Jul 20, 2026
ldoktor
left a comment
Contributor
There was a problem hiding this comment.
I remember hitting this issue as well. IIUC you changed only the Makefile and then ran the make sync-chart-values to update the yaml files? Anyway lgtm but needs rebase.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
gen-provider-valuesjq script insrc/cloud-providers/Makefileto emit all config keys as real YAML keys instead of comments{}fallback for providers with no required flagsinstall/charts/peerpods/providers/vsphere.yaml(nomanager.goin current source tree)Problem
Non-required flags were emitted as YAML comments (e.g.
# LIBVIRT_MEMORY: "8192") and providers without required flags gotproviderConfigs.<name>: {}. This causedproviderConfigsto be treated as nil in some tooling (notably the Terraform Helm provider), breaking--set-literaloverrides on keys under that section.Solution
Two lines changed in the Makefile's jq script:
<provider>:(never<provider>: {})#prefix)Why this is safe
config-extractor)_helpers.tplhasTlsCertscheck remains safe:CACERT_FILE: ""is falsy in Go templates, so TLS mounts only trigger when the user sets a real certificate pathTest results
{}in any provider YAMLhelm lintpasses for all 10 providershelm templaterenders correct ConfigMaps for all 10 providers--set-literaloverride works for libvirt (original bug)--set-literaloverride works for AWSCACERT_FILECACERT_FILEpath