func InitFlatFiles()

in cli/pkg/cli_init/init.go [37:66]


func InitFlatFiles(folders []string) error {
	log.Info("🔄 Initializing flat files for gkekitctl...")

	// Range over embedded folders of flat files
	for _, folder := range folders {
		files, err := templates.ReadDir(folder)
		if err != nil {
			return err
		}
		var buf bytes.Buffer

		// Range over embed files in folder and write them out to the directory gkekitctl is running inside
		for _, file := range files {
			b, err := templates.ReadFile(folder + "/" + file.Name())
			if err != nil {
				return err
			}
			if _, err := os.Stat(folder); os.IsNotExist(err) {
				os.MkdirAll(folder, 0700)
			}
			buf.Write(b)
			err = os.WriteFile(folder+"/"+file.Name(), buf.Bytes(), 0644)
			if err != nil {
				return err
			}
			buf.Reset()
		}
	}
	return nil
}