func()

in pkg/service/jenkins/jenkins.go [604:646]


func (j JenkinsServiceImpl) createTemplatesFromDefaultDir(instance *jenkinsApi.Jenkins) error {
	templatesDirectoryPath, err := platformHelper.CreatePathToTemplateDirectory(DefaultTemplatesDirectory)
	if err != nil {
		return fmt.Errorf("failed to create path to template dir: %w", err)
	}

	var templatesList []string

	templatesList = append(
		templatesList,
		SharedLibrariesTemplateName,
		kubernetesPluginTemplateName,
	)

	jenkinsScriptData := platformHelper.JenkinsScriptData{}
	jenkinsScriptData.JenkinsSharedLibraries = instance.Spec.SharedLibraries
	jenkinsScriptData.JenkinsUrl = fmt.Sprintf("http://%v:%v/%v", instance.Name, jenkinsDefaultSpec.JenkinsDefaultUiPort, instance.Spec.BasePath)

	for _, template := range templatesList {
		if err = createTemplateScript(
			templatesDirectoryPath, template,
			j.platformService,
			&jenkinsScriptData,
			instance,
		); err != nil {
			return nil
		}
	}

	for _, template := range []map[string]string{
		{"name": cbisTemplateName, "cmName": "cbis-template"},
		{"name": jimTemplateName, "cmName": "jim-template"},
	} {
		configMapName := template["cmName"]
		filePath := fmt.Sprintf("%s/%s", templatesDirectoryPath, template["name"])

		if err = j.platformService.CreateConfigMapFromFileOrDir(instance, configMapName, nil, filePath, instance); err != nil {
			return fmt.Errorf("failed to create config-map %v: %w", configMapName, err)
		}
	}

	return nil
}