github.com/Cloud-Foundations/Dominator@v0.3.4/lib/fsutil/readFileTree.go (about)

     1  package fsutil
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"path/filepath"
     7  )
     8  
     9  func readFileTree(topdir, prefix string) (map[string][]byte, error) {
    10  	overlayFiles := make(map[string][]byte)
    11  	startPos := len(topdir) + 1
    12  	err := filepath.Walk(topdir,
    13  		func(path string, info os.FileInfo, err error) error {
    14  			if err != nil {
    15  				return err
    16  			}
    17  			if info.IsDir() {
    18  				return nil
    19  			}
    20  			data, err := ioutil.ReadFile(path)
    21  			if err != nil {
    22  				return err
    23  			}
    24  			overlayFiles[filepath.Join(prefix, path[startPos:])] = data
    25  			return nil
    26  		})
    27  	return overlayFiles, err
    28  }