|
|
|
|
@ -216,11 +216,11 @@ Loop:
|
|
|
|
|
// recursively call self to process sub dependencies
|
|
|
|
|
for _, t := range cd {
|
|
|
|
|
// When a dependency uses an alias, cvals[path][alias] may be missing keys
|
|
|
|
|
// that were coalesced into cvals[originalName] by ancestor CoalesceValues
|
|
|
|
|
// calls (which used the original chart name, not the alias). To correct
|
|
|
|
|
// this, we backfill any missing keys from the top-level entry into the
|
|
|
|
|
// nested path entry. The nested entry is authoritative: if a key exists
|
|
|
|
|
// in both, the nested (alias-keyed) value wins.
|
|
|
|
|
// that were instead placed in cvals[t.Metadata.Name] at the current values root by
|
|
|
|
|
// earlier CoalesceValues calls (which coalesce against the full values tree, not the
|
|
|
|
|
// path-scoped subtable). Backfill any missing keys into the path-scoped entry so
|
|
|
|
|
// condition checks see chart defaults; path-scoped values remain authoritative and
|
|
|
|
|
// win on conflicts.
|
|
|
|
|
if path != "" {
|
|
|
|
|
if pt, err := cvals.Table(strings.TrimSuffix(path, ".")); err == nil {
|
|
|
|
|
if top, ok := cvals[t.Metadata.Name].(map[string]interface{}); ok {
|
|
|
|
|
|