Skip to content

Commit 9d434e4

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

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

cmd/helm3.go

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,30 @@ 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+
return nil, err
137+
}
138+
139+
if err := tmpfile.Close(); err != nil {
140+
return nil, err
141+
}
142+
143+
flags = append(flags, "--values", tmpfile.Name())
144+
} else {
145+
flags = append(flags, "--values", valueFile)
146+
}
124147
}
125148
for _, fileValue := range d.fileValues {
126149
flags = append(flags, "--set-file", fileValue)

0 commit comments

Comments
 (0)