Skip to content

Commit 2ac1815

Browse files
committed
Fix template pull stack command
Signed-off-by: Han Verstraete (OpenFaaS Ltd) <[email protected]>
1 parent dd0b9b1 commit 2ac1815

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

commands/fetch_templates.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ func canWriteLanguage(existingLanguages []string, language string, overwriteTemp
155155
// It returns the existing languages and the fetched languages
156156
// It also returns an error if the templates cannot be read
157157
func moveTemplates(localTemplatesDir, extractedPath, templateName string, overwriteTemplate bool, repository string, refName string, sha string) ([]string, []string, error) {
158+
template := strings.SplitN(templateName, "@", 2)[0]
158159

159160
var (
160161
existingLanguages []string
@@ -197,13 +198,26 @@ func moveTemplates(localTemplatesDir, extractedPath, templateName string, overwr
197198
refSuffix = "@" + refName
198199
}
199200

201+
if len(template) > 0 && language != template {
202+
continue
203+
}
204+
200205
if canWriteLanguage(existingLanguages, language, overwriteTemplate) {
201206
// Do cp here
202207
languageSrc := filepath.Join(extractedPath, TemplateDirectory, language)
203-
languageDest := filepath.Join(localTemplatesDir, language)
208+
209+
var languageDest string
210+
if len(templateName) > 0 {
211+
languageDest = filepath.Join(localTemplatesDir, templateName)
212+
} else {
213+
languageDest = filepath.Join(localTemplatesDir, language)
214+
if refName != "" {
215+
languageDest += "@" + refName
216+
}
217+
}
218+
204219
langName := language
205220
if refName != "" {
206-
languageDest += "@" + refName
207221
langName = language + "@" + refName
208222
}
209223
fetchedLanguages = append(fetchedLanguages, langName)
@@ -281,6 +295,8 @@ func pullTemplate(repository, templateName string, overwriteTemplates bool) erro
281295
}
282296
}
283297

298+
fmt.Printf("Fetching template %s\n", templateName)
299+
284300
if err := fetchTemplates(repository, refName, templateName, overwriteTemplates); err != nil {
285301
return fmt.Errorf("error while fetching templates: %w", err)
286302
}

commands/template_pull_stack.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func runTemplatePullStack(cmd *cobra.Command, args []string) error {
4141
return err
4242
}
4343

44-
return pullStackTemplates([]string{}, templatesConfig, cmd)
44+
return pullConfigTemplates(templatesConfig)
4545
}
4646

4747
func loadTemplateConfig() ([]stack.TemplateSource, error) {
@@ -69,6 +69,17 @@ func readStackConfig() (stack.Configuration, error) {
6969
return configField, nil
7070
}
7171

72+
func pullConfigTemplates(templateSources []stack.TemplateSource) error {
73+
for _, config := range templateSources {
74+
fmt.Printf("Pulling template: %s from %s\n", config.Name, config.Source)
75+
76+
if err := pullTemplate(config.Source, config.Name, overwrite); err != nil {
77+
return err
78+
}
79+
}
80+
return nil
81+
}
82+
7283
func pullStackTemplates(missingTemplates []string, templateSources []stack.TemplateSource, cmd *cobra.Command) error {
7384

7485
for _, val := range missingTemplates {

0 commit comments

Comments
 (0)