func FetchLibraryByGetterString()

in initialize.go [82:105]


func FetchLibraryByGetterString(ctx context.Context, getterString, dstDir string) (fs.FS, error) {
	baseDir := environment.AlzLibDir()
	dst := filepath.Join(baseDir, dstDir)
	client := getter.Client{
		DisableSymlinks: true,
	}
	wd, err := os.Getwd()
	if err != nil {
		return nil, fmt.Errorf("FetchLibraryByGetterString: error getting working directory: %w", err)
	}
	if err := os.RemoveAll(dst); err != nil {
		return nil, fmt.Errorf("FetchLibraryByGetterString: error cleaning destination directory %s: %w", dst, err)
	}
	req := &getter.Request{
		Src: getterString,
		Dst: dst,
		Pwd: wd,
	}
	_, err = client.Get(ctx, req)
	if err != nil {
		return nil, fmt.Errorf("FetchLibraryByGetterString: error fetching library. source `%s`, destination `%s`, wd `%s`: %w", getterString, dst, wd, err)
	}
	return os.DirFS(dst), nil
}