Commit 007bb9db authored by Justin Scott's avatar Justin Scott

Implement 'exports' convetion for simple list items

parent 2bd4d1d0
...@@ -351,7 +351,7 @@ func processImportValues(c *chart.Chart, v *chart.Config) error { ...@@ -351,7 +351,7 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
} }
case string: case string:
nm := make(map[string]string) nm := make(map[string]string)
nm["child"] = riv.(string) nm["child"] = "exports." + riv.(string)
nm["parent"] = "." nm["parent"] = "."
outiv = append(outiv, nm) outiv = append(outiv, nm)
s := r.Name + "." + nm["child"] s := r.Name + "." + nm["child"]
......
...@@ -226,6 +226,12 @@ func TestProcessRequirementsImportValues(t *testing.T) { ...@@ -226,6 +226,12 @@ func TestProcessRequirementsImportValues(t *testing.T) {
e["imported-from-chartA-via-chart1.limits.memory"] = "300Mi" e["imported-from-chartA-via-chart1.limits.memory"] = "300Mi"
e["imported-from-chartA-via-chart1.limits.volume"] = "11" e["imported-from-chartA-via-chart1.limits.volume"] = "11"
e["imported-from-chartA-via-chart1.requests.truthiness"] = "0.01" e["imported-from-chartA-via-chart1.requests.truthiness"] = "0.01"
// single list items (looks for exports. parent key)
e["imported-from-chartB-via-chart1.databint"] = "1"
e["imported-from-chartB-via-chart1.databstr"] = "x.y.z"
e["parent1c3"] = "true"
// checks that a chartb value was merged in with charta values
e["imported-from-chartA-via-chart1.resources.limits.shares"] = "100"
verifyRequirementsImportValues(t, c, v, e) verifyRequirementsImportValues(t, c, v, e)
} }
...@@ -254,6 +260,12 @@ func verifyRequirementsImportValues(t *testing.T, c *chart.Chart, v *chart.Confi ...@@ -254,6 +260,12 @@ func verifyRequirementsImportValues(t *testing.T, c *chart.Chart, v *chart.Confi
t.Errorf("Failed to match imported float value %v with expected %v", s, vv) t.Errorf("Failed to match imported float value %v with expected %v", s, vv)
return return
} }
case bool:
b := strconv.FormatBool(pv.(bool))
if b != vv {
t.Errorf("Failed to match imported bool value %v with expected %v", b, vv)
return
}
default: default:
if pv.(string) != vv { if pv.(string) != vv {
t.Errorf("Failed to match imported string value %v with expected %v", pv, vv) t.Errorf("Failed to match imported string value %v with expected %v", pv, vv)
......
...@@ -18,4 +18,12 @@ resources: ...@@ -18,4 +18,12 @@ resources:
requests: requests:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
exports:
convention1:
data:
databint: 1
databstr: x.y.z
convention2:
resources:
limits:
shares: 100
...@@ -16,6 +16,9 @@ dependencies: ...@@ -16,6 +16,9 @@ dependencies:
repository: http://localhost:10191 repository: http://localhost:10191
version: 0.1.0 version: 0.1.0
condition: subchartb.enabled condition: subchartb.enabled
import-values:
- convention1
- convention2
tags: tags:
- front-end - front-end
- subchartb - subchartb
...@@ -21,4 +21,7 @@ resources: ...@@ -21,4 +21,7 @@ resources:
cpu: 250m cpu: 250m
memory: 250Mi memory: 250Mi
truthiness: 200 truthiness: 200
exports:
convention3:
parent1c3: true
...@@ -11,6 +11,12 @@ dependencies: ...@@ -11,6 +11,12 @@ dependencies:
parent: imported-from-chart1 parent: imported-from-chart1
- child: imported-from-chartA - child: imported-from-chartA
parent: imported-from-chartA-via-chart1 parent: imported-from-chartA-via-chart1
- convention3
# this merges chartb "shares" into charta "limits"
- child: resources.limits
parent: imported-from-chartA-via-chart1.resources.limits
- child: data
parent: imported-from-chartB-via-chart1
- name: subchart2 - name: subchart2
repository: http://localhost:10191 repository: http://localhost:10191
version: 0.1.0 version: 0.1.0
......
Markdown is supported
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