Skip to content

Commit ae2958a

Browse files
author
Ruslan Usichenko
committed
helm-diff doesn't include values from stdin for helm3 version
1 parent 0882d8c commit ae2958a

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

cmd/helm3.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,31 @@ func (d *diffCmd) template(isUpgrade bool) ([]byte, error) {
120120
flags = append(flags, "--set-string", stringValue)
121121
}
122122
for _, valueFile := range d.valueFiles {
123-
flags = append(flags, "--values", valueFile)
123+
if strings.TrimSpace(valueFile) == "-" {
124+
bytes, err := ioutil.ReadAll(os.Stdin)
125+
if err != nil {
126+
return nil, err
127+
}
128+
129+
tmpfile, err := ioutil.TempFile("", "helm-diff-stdin-values")
130+
if err != nil {
131+
return nil, err
132+
}
133+
defer os.Remove(tmpfile.Name())
134+
135+
if _, err := tmpfile.Write(bytes); err != nil {
136+
tmpfile.Close()
137+
return nil, err
138+
}
139+
140+
if err := tmpfile.Close(); err != nil {
141+
return nil, err
142+
}
143+
144+
flags = append(flags, "--values", tmpfile.Name())
145+
} else {
146+
flags = append(flags, "--values", valueFile)
147+
}
124148
}
125149
for _, fileValue := range d.fileValues {
126150
flags = append(flags, "--set-file", fileValue)

0 commit comments

Comments
 (0)