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 {