Commit 4a5721fb authored by Justin Scott's avatar Justin Scott
Browse files

Fixup style and errors

parent 007bb9db
main Release add-codeql dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible dependabot/go_modules/github.com/lib/pq-1.10.9 dependabot/go_modules/github.com/rubenv/sql-migrate-1.4.0 dependabot/go_modules/golang.org/x/crypto-0.9.0 dependabot/go_modules/golang.org/x/term-0.8.0 dependabot/go_modules/k8s.io/klog/v2-2.100.1 dev-v2 feat-v3/event-emitter-lua release-2.10 release-2.11 release-2.12 release-2.13 release-2.14 release-2.15 release-2.16 release-2.17 release-2.3 release-2.4 release-2.5 release-2.6 release-2.7 release-2.8 release-2.9 release-3.0 release-3.1 release-3.10 release-3.11 release-3.12 release-3.2 release-3.3 release-3.4 release-3.5 release-3.6 release-3.6.1 release-3.6.2 release-3.7 release-3.8 release-3.9 release-v3.0.0-beta.4 v3.12.0 v3.12.0-rc.1 v3.12.0-dev.1 v3.11.3 v3.11.2 v3.11.1 v3.11.0 v3.11.0-rc.2 v3.11.0-rc.1 v3.10.3 v3.10.2 v3.10.1 v3.10.0 v3.10.0-rc.1 v3.9.4 v3.9.3 v3.9.2 v3.9.1 v3.9.0 v3.9.0-rc.1 v3.8.2 v3.8.1 v3.8.0 v3.8.0-rc.2 v3.8.0-rc.1 v3.7.2 v3.7.1 v3.7.0 v3.7.0-rc.3 v3.7.0-rc.2 v3.7.0-rc.1 v3.6.3 v3.6.2 v3.6.1 v3.6.0 v3.6.0-rc.1 v3.5.4 v3.5.3 v3.5.2 v3.5.1 v3.5.0 v3.5.0-rc.2 v3.5.0-rc.1 v3.4.2 v3.4.1 v3.4.0 v3.4.0-rc.1 v3.3.4 v3.3.3 v3.3.2 v3.3.1 v3.3.0 v3.3.0-rc.2 v3.3.0-rc.1 v3.2.4 v3.2.3 v3.2.2 v3.2.1 v3.2.0 v3.2.0-rc.1 v3.1.3 v3.1.2 v3.1.1 v3.1.0 v3.1.0-rc.3 v3.1.0-rc.2 v3.1.0-rc.1 v3.0.3 v3.0.2 v3.0.1 v3.0.0 v3.0.0-rc.4 v3.0.0-rc.3 v3.0.0-rc.2 v3.0.0-rc.1 v3.0.0-beta.5 v3.0.0-beta.4 v3.0.0-beta.3 v3.0.0-beta.2 v3.0.0-beta.1 v3.0.0-alpha.2 v3.0.0-alpha.1 v2.17.0 v2.17.0-rc.1 v2.16.12 v2.16.11 v2.16.10 v2.16.9 v2.16.8 v2.16.7 v2.16.6 v2.16.5 v2.16.4 v2.16.3 v2.16.2 v2.16.1 v2.16.0 v2.16.0-rc.2 v2.16.0-rc.1 v2.15.2 v2.15.1 v2.15.0 v2.15.0-rc.2 v2.15.0-rc.1 v2.14.3 v2.14.2 v2.14.1 v2.14.0 v2.14.0-rc.2 v2.14.0-rc.1 v2.13.1 v2.13.1-rc.1 v2.13.0 v2.13.0-rc.2 v2.13.0-rc.1 v2.12.3 v2.12.2 v2.12.1 v2.12.0 v2.12.0-rc.2 v2.12.0-rc.1 v2.11.0 v2.11.0-rc.4 v2.11.0-rc.3 v2.11.0-rc.2 v2.11.0-rc.1 v2.10.0 v2.10.0-rc.3 v2.10.0-rc.2 v2.10.0-rc.1 v2.9.1 v2.9.0 v2.9.0-rc5 v2.9.0-rc4 v2.9.0-rc3 v2.9.0-rc2 v2.9.0-rc1 v2.8.2 v2.8.2-rc1 v2.8.1 v2.8.0 v2.8.0-rc.1 v2.7.2 v2.7.1 v2.7.0 v2.7.0-rc1 v2.6.2 v2.6.1 v2.6.0 v2.5.1 v2.5.0 v2.4.2 v2.4.1 v2.4.0 v2.3.1 v2.3.0
No related merge requests found
Showing with 32 additions and 32 deletions
+32 -32
...@@ -269,15 +269,20 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error { ...@@ -269,15 +269,20 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error {
return nil return nil
} }
// pathToMap creates a nested map given a YAML path in dot notation // pathToMap creates a nested map given a YAML path in dot notation.
func pathToMap(path string, data map[string]interface{}) map[string]interface{} { func pathToMap(path string, data map[string]interface{}) map[string]interface{} {
ap := strings.Split(path, ".") ap := strings.Split(path, ".")
if len(ap) == 0 {
return nil
}
n := []map[string]interface{}{} n := []map[string]interface{}{}
// created nested map for each key, adding to slice
for _, v := range ap { for _, v := range ap {
nm := make(map[string]interface{}) nm := make(map[string]interface{})
nm[v] = make(map[string]interface{}) nm[v] = make(map[string]interface{})
n = append(n, nm) n = append(n, nm)
} }
// find the last key (map) and set our data
for i, d := range n { for i, d := range n {
for k := range d { for k := range d {
z := i + 1 z := i + 1
...@@ -292,11 +297,10 @@ func pathToMap(path string, data map[string]interface{}) map[string]interface{} ...@@ -292,11 +297,10 @@ func pathToMap(path string, data map[string]interface{}) map[string]interface{}
return n[0] return n[0]
} }
// getParents returns a slice of parent charts in reverse order // getParents returns a slice of parent charts in reverse order.
func getParents(c *chart.Chart, out []*chart.Chart) []*chart.Chart { func getParents(c *chart.Chart, out []*chart.Chart) []*chart.Chart {
if len(out) == 0 { if len(out) == 0 {
out = []*chart.Chart{} out = []*chart.Chart{c}
out = append(out, c)
} }
for _, ch := range c.Dependencies { for _, ch := range c.Dependencies {
if len(ch.Dependencies) > 0 { if len(ch.Dependencies) > 0 {
...@@ -308,16 +312,15 @@ func getParents(c *chart.Chart, out []*chart.Chart) []*chart.Chart { ...@@ -308,16 +312,15 @@ func getParents(c *chart.Chart, out []*chart.Chart) []*chart.Chart {
return out return out
} }
// processImportValues merges values from child to parent based on ImportValues field // processImportValues merges values from child to parent based on ImportValues field.
func processImportValues(c *chart.Chart, v *chart.Config) error { func processImportValues(c *chart.Chart, v *chart.Config) error {
reqs, err := LoadRequirements(c) reqs, err := LoadRequirements(c)
if err != nil { if err != nil {
log.Printf("Warning: ImportValues cannot load requirements for %s", c.Metadata.Name) return err
return nil
} }
cvals, err := CoalesceValues(c, v) cvals, err := CoalesceValues(c, v)
if err != nil { if err != nil {
log.Fatalf("Error coalescing values for ImportValues %s", err) return err
} }
nv := v.GetValues() nv := v.GetValues()
b := make(map[string]interface{}) b := make(map[string]interface{})
...@@ -328,30 +331,29 @@ func processImportValues(c *chart.Chart, v *chart.Config) error { ...@@ -328,30 +331,29 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
if len(r.ImportValues) > 0 { if len(r.ImportValues) > 0 {
var outiv []interface{} var outiv []interface{}
for _, riv := range r.ImportValues { for _, riv := range r.ImportValues {
switch riv.(type) { switch iv := riv.(type) {
case map[string]interface{}: case map[string]interface{}:
if m, ok := riv.(map[string]interface{}); ok { nm := map[string]string{
nm := make(map[string]string) "child": iv["child"].(string),
nm["child"] = m["child"].(string) "parent": iv["parent"].(string),
nm["parent"] = m["parent"].(string) }
outiv = append(outiv, nm) outiv = append(outiv, nm)
s := r.Name + "." + nm["child"] s := r.Name + "." + nm["child"]
vv, err := cvals.Table(s) vv, err := cvals.Table(s)
if err != nil { if err != nil {
log.Printf("Warning: ImportValues missing table %v", err) log.Printf("Warning: ImportValues missing table %v", err)
continue continue
} }
if nm["parent"] == "." { if nm["parent"] == "." {
coalesceTables(b, vv.AsMap()) coalesceTables(b, vv.AsMap())
} else { } else {
vm := pathToMap(nm["parent"], vv.AsMap()) vm := pathToMap(nm["parent"], vv.AsMap())
coalesceTables(b, vm) coalesceTables(b, vm)
}
} }
case string: case string:
nm := make(map[string]string) nm := make(map[string]string)
nm["child"] = "exports." + riv.(string) nm["child"] = "exports." + iv
nm["parent"] = "." nm["parent"] = "."
outiv = append(outiv, nm) outiv = append(outiv, nm)
s := r.Name + "." + nm["child"] s := r.Name + "." + nm["child"]
...@@ -367,14 +369,13 @@ func processImportValues(c *chart.Chart, v *chart.Config) error { ...@@ -367,14 +369,13 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
r.ImportValues = outiv r.ImportValues = outiv
} }
} }
cv, err := coalesceValues(c, b) cv, err := coalesceValues(c, b)
if err != nil { if err != nil {
log.Fatalf("Error coalescing processed values for ImportValues %s", err) return err
} }
y, err := yaml.Marshal(cv) y, err := yaml.Marshal(cv)
if err != nil { if err != nil {
log.Printf("Warning: ImportValues could not marshall %v", err) return err
} }
bb := &chart.Config{Raw: string(y)} bb := &chart.Config{Raw: string(y)}
v = bb v = bb
...@@ -383,12 +384,11 @@ func processImportValues(c *chart.Chart, v *chart.Config) error { ...@@ -383,12 +384,11 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
return nil return nil
} }
// ProcessRequirementsImportValues imports specified chart values from child to parent // ProcessRequirementsImportValues imports specified chart values from child to parent.
func ProcessRequirementsImportValues(c *chart.Chart, v *chart.Config) error { func ProcessRequirementsImportValues(c *chart.Chart, v *chart.Config) error {
pc := getParents(c, nil) pc := getParents(c, nil)
for i := len(pc) - 1; i >= 0; i-- { for i := len(pc) - 1; i >= 0; i-- {
processImportValues(pc[i], v) processImportValues(pc[i], v)
} }
return nil return nil
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment