in k8s/go/pkg/resolver/resolver.go [456:485]
func (r *yamlResolver) resolveYAML(t io.Reader) ([]byte, error) {
d := yaml.NewDecoder(t)
buf := bytes.NewBuffer(nil)
e := yaml.NewEncoder(buf)
defer e.Close()
for {
y := yamlDoc{}
err := d.Decode(&y)
if err != nil && err != io.EOF {
return nil, err
}
done := err == io.EOF
o, err := r.resolveItem(y.val())
if err != nil {
return nil, fmt.Errorf("error resolving YAML template: %v", err)
}
if o != nil {
r.numDocs++
err = e.Encode(o)
if err != nil {
return nil, err
}
}
if done {
break
}
}
return buf.Bytes(), nil
}