func LoadUnstructured()

in pkg/gcv/configs/config.go [86:113]


func LoadUnstructured(dirs []string) ([]*unstructured.Unstructured, error) {
	var files []*PolicyFile
	for _, dir := range dirs {
		dirPath, err := NewPath(dir)
		if err != nil {
			return nil, err
		}
		dirFiles, err := dirPath.ReadAll(context.Background(), SuffixPredicate(".yaml"))
		if err != nil {
			return nil, err
		}
		for _, dirFile := range dirFiles {
			files = append(files, &PolicyFile{
				Path:    dirFile.Path,
				Content: dirFile.Content,
			})
		}
	}

	yamlDocs, err := LoadUnstructuredFromContents(files)
	if err != nil {
		return nil, err
	}
	if len(yamlDocs) == 0 {
		return nil, fmt.Errorf("zero configurations found in the provided directories: %v", dirs)
	}
	return yamlDocs, nil
}