func()

in cmd/update.go [58:116]


func (uc *updateCmd) run() error {
	flagVariablesMap = flagVariablesToMap(uc.flagVariables)

	if dryRun {
		dryRunRecorder = dryrunpkg.NewDryRunRecorder()
		uc.templateVariableRecorder = dryRunRecorder
		uc.templateWriter = dryRunRecorder
	}

	updatedDest, err := cmdhelpers.GetAddonDestPath(uc.dest)
	if err != nil {
		log.Errorf("error getting addon destination path: %s", err.Error())
		return err
	}

	ingressTemplate, err := handlers.GetTemplate("app-routing-ingress", "", updatedDest, uc.templateWriter)
	if err != nil {
		log.Errorf("error getting ingress template: %s", err.Error())
		return err
	}
	if ingressTemplate == nil {
		return errors.New("DraftConfig is nil")
	}

	ingressTemplate.Config.VariableMapToDraftConfig(flagVariablesMap)

	err = cmdhelpers.PromptAddonValues(uc.dest, ingressTemplate.Config)
	if err != nil {
		return err
	}

	if dryRun {
		for _, variable := range ingressTemplate.Config.Variables {
			uc.templateVariableRecorder.Record(variable.Name, variable.Value)
		}
	}

	err = ingressTemplate.Generate()
	if err != nil {
		log.Errorf("error generating ingress template: %s", err.Error())
		return err
	}

	if dryRun {
		dryRunText, err := json.MarshalIndent(dryRunRecorder.DryRunInfo, "", TWO_SPACES)
		if err != nil {
			return err
		}
		fmt.Println(string(dryRunText))
		if dryRunFile != "" {
			log.Printf("writing dry run info to file %s", dryRunFile)
			err = os.WriteFile(dryRunFile, dryRunText, 0644)
			if err != nil {
				return err
			}
		}
	}
	return err
}