func main()

in templater/main.go [44:132]


func main() {
	jobsFolderPath, err := getJobsFolderPath()
	if err != nil {
		fmt.Printf("Error getting jobs folder path: %v", err)
		os.Exit(1)
	}

	for _, org := range orgsSupported {
		if err = os.RemoveAll(filepath.Join(jobsFolderPath, org)); err != nil {
			fmt.Printf("Error removing jobs folder path: %v", err)
			os.Exit(1)
		}
	}

	for _, jobType := range jobTypes {
		jobList, err := jobs.GetJobList(jobType)
		if err != nil {
			fmt.Printf("Error getting job list: %v\n", err)
			os.Exit(1)
		}
		template, err := useTemplate(jobType)
		if err != nil {
			fmt.Printf("Error getting job list: %v\n", err)
			os.Exit(1)
		}

		for repoName, jobConfigs := range jobList {
			for fileName, jobConfig := range jobConfigs {
				envVars := jobConfig.EnvVars

				if jobConfig.UseDockerBuildX {
					envVars = append(envVars, &types.EnvVar{Name: "BUILDKITD_IMAGE", Value: fmt.Sprintf("%s:%s", buildkitImageRepo, buildkitImageTag)})
					envVars = append(envVars, &types.EnvVar{Name: "USE_BUILDX", Value: "true"})
				}

				if jobConfig.ImageBuild {
					if jobs.IsCuratedPackagesPresubmit(jobConfig.JobName) {
						envVars = append(envVars, &types.EnvVar{Name: "ADDITIONAL_IMAGE_CACHE_REPOS", Value: "067575901363.dkr.ecr.us-west-2.amazonaws.com"})
					} else {
						envVars = append(envVars, &types.EnvVar{Name: "ADDITIONAL_IMAGE_CACHE_REPOS", Value: "857151390494.dkr.ecr.us-west-2.amazonaws.com"})
					}
				}

				cluster, bucket, serviceAccountName := clusterDetails(jobType, jobConfig.Cluster, jobConfig.Bucket, jobConfig.ServiceAccountName)

				data := map[string]interface{}{
					"architecture":                 jobConfig.Architecture,
					"repoName":                     repoName,
					"prowjobName":                  jobConfig.JobName,
					"runIfChanged":                 jobConfig.RunIfChanged,
					"skipIfOnlyChanged":            jobConfig.SkipIfOnlyChanged,
					"branches":                     jobConfig.Branches,
					"cronExpression":               jobConfig.CronExpression,
					"maxConcurrency":               jobConfig.MaxConcurrency,
					"timeout":                      jobConfig.Timeout,
					"extraRefs":                    jobConfig.ExtraRefs,
					"imageBuild":                   jobConfig.ImageBuild,
					"useDockerBuildX":              jobConfig.UseDockerBuildX,
					"prCreation":                   jobConfig.PRCreation,
					"runtimeImage":                 jobConfig.RuntimeImage,
					"localRegistry":                jobConfig.LocalRegistry,
					"serviceAccountName":           serviceAccountName,
					"command":                      strings.Join(jobConfig.Commands, "\n&&\n"),
					"builderBaseTag":               builderBaseTag,
					"buildkitImageRepo":            buildkitImageRepo,
					"buildkitImageTag":             buildkitImageTag,
					"resources":                    jobConfig.Resources,
					"envVars":                      envVars,
					"volumes":                      jobConfig.Volumes,
					"volumeMounts":                 jobConfig.VolumeMounts,
					"editWarning":                  editWarning,
					"automountServiceAccountToken": jobConfig.AutomountServiceAccountToken,
					"cluster":                      cluster,
					"bucket":                       bucket,
					"projectPath":                  jobConfig.ProjectPath,
					"diskUsage":                    true,
					"runAsUser":                    jobConfig.RunAsUser,
					"runAsGroup":                   jobConfig.RunAsGroup,
				}

				err := GenerateProwjob(fileName, template, data)
				if err != nil {
					fmt.Printf("Error generating Prowjob %s: %v\n", fileName, err)
					os.Exit(1)
				}
			}
		}
	}
}