func loadOverlay()

in internal/commands/install/manifest/manifest.go [84:109]


func loadOverlay(file string, in io.Reader, out interface{}) error {
	if file == "" {
		return nil
	}
	if file == "-" {
		scanner := bufio.NewScanner(in)
		ll := make([]string, 0)
		for scanner.Scan() {
			ll = append(ll, scanner.Text())
		}
		if len(ll) > 0 {
			if err := yaml.Unmarshal([]byte(strings.Join(ll, "\n")), out); err != nil {
				return err
			}
		}
	} else {
		b, err := os.ReadFile(file)
		if err != nil {
			return err
		}
		if err := yaml.Unmarshal(b, out); err != nil {
			return err
		}
	}
	return nil
}