package helmunit import ( "github.com/Jeffail/gabs" "sigs.k8s.io/yaml" ) func mergeMaps(a, b map[string]interface{}) map[string]interface{} { out := make(map[string]interface{}, len(a)) for k, v := range a { out[k] = v } for k, v := range b { if v, ok := v.(map[string]interface{}); ok { if bv, ok := out[k]; ok { if bv, ok := bv.(map[string]interface{}); ok { out[k] = mergeMaps(bv, v) continue } } } out[k] = v } return out } func yamlToJson(yamlInput []byte) (jsonOutput *gabs.Container, err error) { jsonBytes, err := yaml.YAMLToJSON(yamlInput) if err != nil { return nil, err } jsonParsed, err := gabs.ParseJSON(jsonBytes) if err != nil { return nil, err } return jsonParsed, nil }