fix: remove rendered content from debug log; extract prepareReleaseValuesEntries shared helper
Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/321c6ba5-f835-4afd-be5e-ee790bc6b4a5 Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
This commit is contained in:
parent
09bf3c22a9
commit
5792ea4df0
|
|
@ -3926,9 +3926,9 @@ func (st *HelmState) mergedReleaseTemplateData(release *ReleaseSpec) (releaseTem
|
|||
return st.createReleaseTemplateData(release, mergedVals), nil
|
||||
}
|
||||
|
||||
func (st *HelmState) resolveReleaseValues(release *ReleaseSpec) (map[string]any, error) {
|
||||
merged := map[string]any{}
|
||||
|
||||
// prepareReleaseValuesEntries normalizes release.Values path entries (applying ValuesPathPrefix)
|
||||
// and evaluates any vals ref+ secrets, returning the fully-rendered values slice ready for processing.
|
||||
func (st *HelmState) prepareReleaseValuesEntries(release *ReleaseSpec) ([]any, error) {
|
||||
values := []any{}
|
||||
for _, v := range release.Values {
|
||||
switch typedValue := v.(type) {
|
||||
|
|
@ -3936,7 +3936,7 @@ func (st *HelmState) resolveReleaseValues(release *ReleaseSpec) (map[string]any,
|
|||
path := st.storage().normalizePath(release.ValuesPathPrefix + typedValue)
|
||||
values = append(values, path)
|
||||
default:
|
||||
values = append(values, v)
|
||||
values = append(values, typedValue)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3950,6 +3950,17 @@ func (st *HelmState) resolveReleaseValues(release *ReleaseSpec) (map[string]any,
|
|||
return nil, fmt.Errorf("failed to render values in %s for release %s: type %T isn't supported", st.FilePath, release.Name, valuesMapSecretsRendered["values"])
|
||||
}
|
||||
|
||||
return valuesSecretsRendered, nil
|
||||
}
|
||||
|
||||
func (st *HelmState) resolveReleaseValues(release *ReleaseSpec) (map[string]any, error) {
|
||||
merged := map[string]any{}
|
||||
|
||||
valuesSecretsRendered, err := st.prepareReleaseValuesEntries(release)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, v := range valuesSecretsRendered {
|
||||
switch typedValue := v.(type) {
|
||||
case string:
|
||||
|
|
@ -4209,7 +4220,7 @@ func (st *HelmState) generateTemporaryReleaseValuesFilesCore(release *ReleaseSpe
|
|||
return fmt.Errorf("failed to write %s: %v", valfile.Name(), err)
|
||||
}
|
||||
|
||||
st.logger.Debugf("Successfully generated the value file at %s. produced:\n%s", path, string(yamlBytes))
|
||||
st.logger.Debugf("Successfully generated the value file from %s to %s", path, valfile.Name())
|
||||
|
||||
generatedFiles = append(generatedFiles, valfile.Name())
|
||||
|
||||
|
|
@ -4279,27 +4290,11 @@ func (st *HelmState) generateTemporaryReleaseValuesFilesCore(release *ReleaseSpe
|
|||
}
|
||||
|
||||
func (st *HelmState) generateVanillaValuesFiles(release *ReleaseSpec) ([]string, error) {
|
||||
values := []any{}
|
||||
for _, v := range release.Values {
|
||||
switch typedValue := v.(type) {
|
||||
case string:
|
||||
path := st.storage().normalizePath(release.ValuesPathPrefix + typedValue)
|
||||
values = append(values, path)
|
||||
default:
|
||||
values = append(values, v)
|
||||
}
|
||||
}
|
||||
|
||||
valuesMapSecretsRendered, err := st.valsRuntime.Eval(map[string]any{"values": values})
|
||||
valuesSecretsRendered, err := st.prepareReleaseValuesEntries(release)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
valuesSecretsRendered, ok := valuesMapSecretsRendered["values"].([]any)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("Failed to render values in %s for release %s: type %T isn't supported", st.FilePath, release.Name, valuesMapSecretsRendered["values"])
|
||||
}
|
||||
|
||||
generatedFiles, err := st.generateTemporaryReleaseValuesFiles(release, valuesSecretsRendered)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Reference in New Issue