diff --git a/main.go b/main.go index 6ee63476c95b5e07b41436805a5f442708b3cdfa_bWFpbi5nbw==..3c1a6825d3f1126658f413209da3f8d8511d6f74_bWFpbi5nbw== 100644 --- a/main.go +++ b/main.go @@ -1,4 +1,5 @@ package main import ( + "orus.io/cloudcrane/beaver/cmd" "os" @@ -4,5 +5,3 @@ "os" - "orus.io/cloudcrane/beaver/cmd" - ) @@ -7,6 +6,6 @@ ) -func main () { +func main() { if code := cmd.Run(); code != 0 { os.Exit(code) } diff --git a/runner/cmd.go b/runner/cmd.go index 6ee63476c95b5e07b41436805a5f442708b3cdfa_cnVubmVyL2NtZC5nbw==..3c1a6825d3f1126658f413209da3f8d8511d6f74_cnVubmVyL2NtZC5nbw== 100644 --- a/runner/cmd.go +++ b/runner/cmd.go @@ -136,11 +136,7 @@ for name, chart := range c.Spec.Charts.Helm { var newVals []string for _, value := range chart.Values { - rawChartValue, err := yaml.Marshal(value) - if err != nil { - return fmt.Errorf("failed to get chart values as string: %w", err) - } - valueTmpl, err := template.New("chart").Parse(string(rawChartValue)) + valueTmpl, err := template.New("chart").Parse(value) if err != nil { return fmt.Errorf("failed to parse chart values as template: %q, %w", chart.Values, err) } diff --git a/runner/cmd_test.go b/runner/cmd_test.go index 6ee63476c95b5e07b41436805a5f442708b3cdfa_cnVubmVyL2NtZF90ZXN0Lmdv..3c1a6825d3f1126658f413209da3f8d8511d6f74_cnVubmVyL2NtZF90ZXN0Lmdv 100644 --- a/runner/cmd_test.go +++ b/runner/cmd_test.go @@ -29,7 +29,12 @@ // TODO: make sure this is the expected values including the leading | ... assert.Equal(t, []string{ - "|\n config:\n datasource:\n password: <path:cnpp.k8s.cloudcrane.io/data/ns1/postgres#password>\n role: 'admin'\n fullnameoverride: pg-exporter-ns1\n"}, + `config: + datasource: + password: <path:cnpp.k8s.cloudcrane.io/data/ns1/postgres#password> + role: 'admin' +fullnameoverride: pg-exporter-ns1 +`}, c.Spec.Charts.Helm["postgres"].Values, ) } diff --git a/runner/config.go b/runner/config.go index 6ee63476c95b5e07b41436805a5f442708b3cdfa_cnVubmVyL2NvbmZpZy5nbw==..3c1a6825d3f1126658f413209da3f8d8511d6f74_cnVubmVyL2NvbmZpZy5nbw== 100644 --- a/runner/config.go +++ b/runner/config.go @@ -17,9 +17,9 @@ } type HelmChart struct { - Type string `mapstructure:"type"` - Name string `mapstructure:"name"` - Values interface{} `mapstructure:"values"` + Type string `mapstructure:"type"` + Name string `mapstructure:"name"` + Values map[string]interface{} `mapstructure:"values"` } type YttChart struct {