func getConfigFolder()

in cmd/config_path.go [14:38]


func getConfigFolder(path string, ctx context.Context) (configPath string, onDefer func(), err error) {
	exists, err := isReadableLocalPath(path)
	if exists && err == nil {
		return path, nil, nil
	}
	absPath, err := filepath.Abs(path)
	if err == nil {
		exists, err = isReadableLocalPath(absPath)
		if exists && err == nil {
			return path, nil, nil
		}
	}
	tmp := filepath.Join(os.TempDir(), uuid.NewString())
	cleaner := func() {
		_ = os.RemoveAll(tmp)
	}
	result, err := getter.Get(ctx, tmp, path)
	if err != nil {
		return "", cleaner, err
	}
	if result == nil {
		return "", cleaner, fmt.Errorf("cannot get config path")
	}
	return result.Dst, cleaner, nil
}