Refactor export-values/import-values logic. Now export-values expand from
the top chart to the most nested ones, unlike import-values that have
it reversed (import-values flow didn't change). Now export-values can be
chained and passed through multiple charts, where you define
export-values directive in each chart of the chain. Import-values
already work like that.
Signed-off-by: Ilya Lesikov <ilya@lesikov.com>
// still it might be not a table but a simple value
value,e:=cvals.PathValue(parent)
value,e:=pvals.PathValue(parent)
ife!=nil{
log.Printf("Warning: ExportValues defined in chart %q for its dependency %q can't get the parent path: %v",c.Name(),r.Name,err)
log.Printf("Warning: ExportValues defined in chart %q for its dependency %q can't get the parent path: %s",parentName,r.Name,err.Error())
continue
}
childSlice:=parsePath(child)
childLen:=len(childSlice)
ifchildLen==1{
log.Printf("Warning: in ExportValues defined in chart %q for its dependency %q you are trying to assign a primitive data type (string, int, etc) to the root of your dependent chart values. We will ignore this ExportValues, because this is most likely not what you want. Fix the ExportValues to hide this warning.",c.Name(),r.Name)
iflen(childSlice)==1&&childSlice[0]==""{
log.Printf("Warning: in ExportValues defined in chart %q for its dependency %q you are trying to assign a primitive data type (string, int, etc) to the root of your dependent chart values. We will ignore this ExportValues, because this is most likely not what you want. Fix the ExportValues to hide this warning.",parentName,r.Name)