Skip to content

Commit cee80a5

Browse files
ruslanlomanRuslan Usichenko
andauthored
Add ability to load values from stdin for helm 3 (#340)
Co-authored-by: Ruslan Usichenko <[email protected]>
1 parent 916891f commit cee80a5

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
@@ -124,7 +124,31 @@ func (d *diffCmd) template(isUpgrade bool) ([]byte, error) {
124124
flags = append(flags, "--set-string", stringValue)
125125
}
126126
for _, valueFile := range d.valueFiles {
127-
flags = append(flags, "--values", valueFile)
127+
if strings.TrimSpace(valueFile) == "-" {
128+
bytes, err := ioutil.ReadAll(os.Stdin)
129+
if err != nil {
130+
return nil, err
131+
}
132+
133+
tmpfile, err := ioutil.TempFile("", "helm-diff-stdin-values")
134+
if err != nil {
135+
return nil, err
136+
}
137+
defer os.Remove(tmpfile.Name())
138+
139+
if _, err := tmpfile.Write(bytes); err != nil {
140+
tmpfile.Close()
141+
return nil, err
142+
}
143+
144+
if err := tmpfile.Close(); err != nil {
145+
return nil, err
146+
}
147+
148+
flags = append(flags, "--values", tmpfile.Name())
149+
} else {
150+
flags = append(flags, "--values", valueFile)
151+
}
128152
}
129153
for _, fileValue := range d.fileValues {
130154
flags = append(flags, "--set-file", fileValue)

0 commit comments

Comments
 (0)