change panic to fatal log

This commit is contained in:
2025-08-10 14:28:32 +03:00
parent 4ede8161f8
commit b6087afc46
10 changed files with 265 additions and 55 deletions

View File

@@ -0,0 +1,61 @@
package templates
import (
"bytes"
"embed"
"kube-forge/internal/config"
"kube-forge/internal/logging"
"kube-forge/internal/resources"
"os"
"path/filepath"
"text/template"
)
func executeTemplateToString(template *template.Template, config *config.Config) string {
templateResult := &bytes.Buffer{}
err := template.Execute(templateResult, config)
if err != nil {
logging.Log.Fatal(err)
}
templateResultString := templateResult.String()
return templateResultString
}
func getTemplateFromEmbedFSFolder(embedFS embed.FS, templateFile string) *template.Template {
templateData, err := embedFS.ReadFile(templateFile)
if err != nil {
logging.Log.Fatal(err)
}
templateDataString := string(templateData)
template, err := template.New("tmpl").Funcs(funcMap()).Parse(templateDataString)
if err != nil {
logging.Log.Fatal(err)
}
return template
}
func applyTemplates(templates [][2]string) {
config := config.GetConfig()
for _, templateData := range templates {
var templateFile = templateData[0]
var outFile = filepath.Join(config.BaseDir, templateData[1])
dir := filepath.Dir(outFile)
err := os.MkdirAll(dir, 0755)
if err != nil {
logging.Log.Fatal(err)
}
tmpl := getTemplateFromEmbedFSFolder(resources.Templates, templateFile)
file, err := os.Create(outFile)
if err != nil {
logging.Log.Fatal(err)
}
defer file.Close()
err = tmpl.Execute(file, config)
if err != nil {
logging.Log.Fatal(err)
}
}
}