func getFilesRecursive()

in operator/pkg/operator/manifests/repo.go [59:82]


func getFilesRecursive(prefix string, root os.FileInfo) ([]string, error) {
	if !root.IsDir() {
		return nil, fmt.Errorf("not a dir: %s", root.Name())
	}
	prefix = filepath.Join(prefix, root.Name())
	fs, _ := manifests.ReadDir(prefix)
	out := make([]string, 0)
	for _, f := range fs {
		info, err := Stat(filepath.Join(prefix, f.Name()))
		if err != nil {
			return nil, err
		}
		if !f.IsDir() {
			out = append(out, filepath.Join(prefix, f.Name()))
			continue
		}
		nfs, err := getFilesRecursive(prefix, info)
		if err != nil {
			return nil, err
		}
		out = append(out, nfs...)
	}
	return out, nil
}