Skip to content

Commit 4d9b0dd

Browse files
authored
Merge pull request #1366 from merico-dev/refactor-template-package
refactor: use client for template
2 parents e1f25f8 + 3cd83fc commit 4d9b0dd

File tree

24 files changed

+319
-487
lines changed

24 files changed

+319
-487
lines changed

internal/pkg/configmanager/variables.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@ import (
88
func renderConfigWithVariables(fileContent string, variables map[string]interface{}) ([]byte, error) {
99
logFunc(fileContent, variables)
1010

11-
str, err := template.New().
12-
FromContent(fileContent).
13-
AddDotForVariablesInConfigProcessor().
14-
AddQuoteForVariablesInConfigProcessor().
15-
SetDefaultRender(fileContent, variables).
16-
Render()
11+
str, err := template.NewRenderClient(&template.TemplateOption{
12+
Name: "configmanager",
13+
}, template.ContentGetter, template.AddDotForVariablesInConfigProcessor, template.AddQuoteForVariablesInConfigProcessor,
14+
).Render(fileContent, variables)
1715

1816
if err != nil {
1917
return nil, err

internal/pkg/develop/plugin/plugin.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,12 @@ func (p *Plugin) renderTplString(tplStr string) (string, error) {
7979
"dirFormat": pluginTpl.FormatPackageDirName,
8080
}
8181

82-
res, err := templateUtil.New().FromContent(tplStr).SetDefaultRender("default", *p, funcMap).Render()
82+
res, err := templateUtil.NewRenderClient(
83+
&templateUtil.TemplateOption{
84+
Name: "plugins",
85+
FuncMap: funcMap,
86+
}, templateUtil.ContentGetter,
87+
).Render(tplStr, *p)
8388
if err != nil {
8489
log.Debugf("Template execute failed: %s.", err)
8590
log.Debugf("Template content: %s.", tplStr)

internal/pkg/plugin/argocdapp/options.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ func (o *options) getArgocdDefaultConfigFiles(configLocation downloader.Resource
8282
}
8383
// 3. get file content
8484
fContentFunc := func(filePath string) ([]byte, error) {
85-
renderContent, err := template.New().FromLocalFile(filePath).SetDefaultRender("argocd config", o).Render()
85+
renderContent, err := template.NewRenderClient(&template.TemplateOption{
86+
Name: "argocd",
87+
}, template.LocalFileGetter).Render(filePath, o)
8688
if err != nil {
8789
return nil, err
8890
}

internal/pkg/plugin/gitlabci/gitlabci.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ func createGitlabRunnerByHelm(repoInfo *git.RepoInfo) error {
6464
return err
6565
}
6666
// 2. else create runner for this project
67-
valuesYaml, err := template.New().FromContent(helmValueTpl).SetDefaultRender(
68-
"gitlab-runner tpl", map[string]any{
67+
valuesYaml, err := template.NewRenderClient(&template.TemplateOption{
68+
Name: "gitlab-runner"}, template.ContentGetter).Render(
69+
helmValueTpl, map[string]any{
6970
"GitlabURL": repoInfo.BaseURL,
7071
"RegisterToken": runnerToken,
71-
},
72-
).Render()
72+
})
7373
if err != nil {
7474
return err
7575
}

internal/pkg/plugin/harbordocker/harbordocker.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ func renderConfig(options configmanager.RawOptions) (configmanager.RawOptions, e
5757
return nil, err
5858
}
5959

60-
content, err := template.New().FromContent(HarborConfigTemplate).SetDefaultRender("compose", opts).Render()
60+
content, err := template.NewRenderClient(&template.TemplateOption{
61+
Name: "docker-compose",
62+
}, template.ContentGetter).Render(HarborConfigTemplate, opts)
6163
if err != nil {
6264
return nil, err
6365
}

internal/pkg/plugin/installer/ci/cifile/cifile.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ func (c *CIFileConfig) newCIServerClient() (ciClient server.CIServerOptions) {
6868
func (c *CIFileConfig) renderContent(ciFileContent string) (string, error) {
6969
needRenderContent := len(c.Vars) > 0
7070
if needRenderContent {
71-
return template.New().FromContent(ciFileContent).SetDefaultRender(ciTemplateName, c.Vars).Render()
71+
return template.NewRenderClient(&template.TemplateOption{
72+
Name: fmt.Sprintf("ci-%s", ciTemplateName),
73+
}, template.ContentGetter).Render(ciFileContent, c.Vars)
7274
}
7375
return ciFileContent, nil
7476

internal/pkg/plugin/installer/ci/cifile/utils.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cifile
22

33
import (
4+
"fmt"
45
"os"
56

67
"github.com/devstream-io/devstream/pkg/util/file"
@@ -16,7 +17,9 @@ func processCIFilesFunc(vars map[string]interface{}) file.DirFileContentFunc {
1617
if len(vars) == 0 {
1718
return os.ReadFile(filePath)
1819
}
19-
renderContent, err := template.New().FromLocalFile(filePath).SetDefaultRender(ciTemplateName, vars).Render()
20+
renderContent, err := template.NewRenderClient(&template.TemplateOption{
21+
Name: fmt.Sprintf("ci-%s", ciTemplateName),
22+
}, template.LocalFileGetter).Render(filePath, vars)
2023
if err != nil {
2124
return nil, err
2225
}

internal/pkg/plugin/installer/kubectl/installer.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ func ProcessByContent(action, content string) installer.BaseOperation {
2525
}
2626

2727
func renderKubectlContent(content string, options configmanager.RawOptions) (io.Reader, error) {
28-
content, err := template.New().FromContent(content).SetDefaultRender("kubectl", options).Render()
28+
content, err := template.NewRenderClient(&template.TemplateOption{
29+
Name: "kubectl",
30+
}, template.ContentGetter).Render(content, options)
2931
if err != nil {
3032
return nil, err
3133
}
@@ -38,7 +40,9 @@ func renderKubectlContent(content string, options configmanager.RawOptions) (io.
3840

3941
func ProcessByURL(action, url string) installer.BaseOperation {
4042
return func(options configmanager.RawOptions) error {
41-
content, err := template.New().FromURL(url).SetDefaultRender("kubectl", options).Render()
43+
content, err := template.NewRenderClient(&template.TemplateOption{
44+
Name: "kubectl",
45+
}, template.URLGetter).Render(url, options)
4246
if err != nil {
4347
return err
4448
}

internal/pkg/plugin/installer/reposcaffolding/utils.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ func processRepoFileFunc(appName string, vars map[string]interface{}) file.DirFi
4949
log.Debugf("Walk: found file: %s.", filePath)
5050
// if file endswith tpl, render this file, else copy this file directly
5151
if strings.Contains(filePath, "tpl") {
52-
fileContentStr, err := template.New().FromLocalFile(filePath).SetDefaultRender(appName, vars).Render()
52+
fileContentStr, err := template.NewRenderClient(&template.TemplateOption{
53+
Name: "repo-scaffolding",
54+
}, template.LocalFileGetter).Render(filePath, vars)
5355
if err != nil {
5456
log.Warnf("repo render file failed: %s", err)
5557
return fileContent, err

internal/pkg/plugin/jiragithub/render.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@ func renderTemplate(workflow *github.Workflow, options *Options) (string, error)
1414
return "", err
1515
}
1616

17-
return template.New().FromContent(workflow.WorkflowContent).SetDefaultRender("jiragithub", opts).Render()
17+
return template.NewRenderClient(&template.TemplateOption{
18+
Name: "jiragithub",
19+
}, template.ContentGetter).Render(workflow.WorkflowContent, opts)
1820
}

0 commit comments

Comments
 (0)