code: func handleFromFileSources(secret *api.Secret, fileSources []string) error {
  	for _, fileSource := range fileSources {
  		keyName, filePath, err := parseFileSource(fileSource)
  		if err != nil {
  			return err
  		}
  		info, err := os.Stat(filePath)
  		if err != nil {
  			switch err := err.(type) {
  			case *os.PathError:
  				return fmt.Errorf("error reading %s: %v", filePath, err.Err)
  			default:
  				return fmt.Errorf("error reading %s: %v", filePath, err)
  			}
  		}
  		if info.IsDir() {
  			if strings.Contains(fileSource, "=") {
  				return fmt.Errorf("cannot give a key name for a directory path.")
  			}
  			fileList, err := ioutil.ReadDir(filePath)
  			if err != nil {
  				return fmt.Errorf("error listing files in %s: %v", filePath, err)
  			}
  			for _, item := range fileList {
  				itemPath := path.Join(filePath, item.Name())
  				if item.Mode().IsRegular() {
  					keyName = item.Name()
  					err = addKeyFromFileToSecret(secret, keyName, itemPath)
  					if err != nil {
  						return err
  					}
  				}
  			}
  		} else {
  			err = addKeyFromFileToSecret(secret, keyName, filePath)
  			if err != nil {
  				return err
  			}
  		}
  	}
  
  	return nil
  }
docs: // handleFromFileSources adds the specified file source information into the provided secret