From a600344aa8103e402f56d5a198a3432b4ff08ec9 Mon Sep 17 00:00:00 2001 From: Venkatreddy KP Date: Wed, 27 Dec 2023 21:05:38 +0530 Subject: [PATCH] fix cross plane synch issue --- capten/common-pkg/plugins/git/git.go | 15 +++++++++------ .../internal/app_config/app_git_helper.go | 3 ++- .../internal/crossplane/config_crossplane_app.go | 16 ++++++++-------- charts/kad/crossplane_plugin_config.json | 2 +- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/capten/common-pkg/plugins/git/git.go b/capten/common-pkg/plugins/git/git.go index 0c2e81aa..baebc565 100644 --- a/capten/common-pkg/plugins/git/git.go +++ b/capten/common-pkg/plugins/git/git.go @@ -21,16 +21,19 @@ func NewClient() *GitClient { } func (g *GitClient) Clone(directory, url, token string) error { - r, err := git.PlainClone(directory, false, &git.CloneOptions{ - Auth: &http.BasicAuth{ - Username: "dummy", // yes, this can be anything except an empty string - Password: token, - }, + opt := &git.CloneOptions{ URL: url, Progress: os.Stdout, InsecureSkipTLS: true, - }) + } + if len(token) != 0 { + opt.Auth = &http.BasicAuth{ + Username: "dummy", // yes, this can be anything except an empty string + Password: token, + } + } + r, err := git.PlainClone(directory, false, opt) if err != nil { return err } diff --git a/capten/config-worker/internal/app_config/app_git_helper.go b/capten/config-worker/internal/app_config/app_git_helper.go index 4c2d77f6..cb8e4204 100644 --- a/capten/config-worker/internal/app_config/app_git_helper.go +++ b/capten/config-worker/internal/app_config/app_git_helper.go @@ -77,7 +77,8 @@ func (ca *AppGitConfigHelper) CloneTemplateRepo(repoURL string) (templateDir str return } - if err = ca.gitClient.Clone(templateDir, repoURL, ""); err != nil { + gitClient := git.NewClient() + if err = gitClient.Clone(templateDir, repoURL, ""); err != nil { os.RemoveAll(templateDir) err = fmt.Errorf("failed to Clone template repo, err: %v", err) return diff --git a/capten/config-worker/internal/crossplane/config_crossplane_app.go b/capten/config-worker/internal/crossplane/config_crossplane_app.go index d69d629f..d5f9f703 100644 --- a/capten/config-worker/internal/crossplane/config_crossplane_app.go +++ b/capten/config-worker/internal/crossplane/config_crossplane_app.go @@ -63,20 +63,20 @@ func readCrossPlanePluginConfig(pluginFile string) (*crossplanePluginConfig, err func (cp *CrossPlaneApp) configureProjectAndApps(ctx context.Context, req *model.CrossplaneUseCase) (status string, err error) { logger.Infof("cloning default templates %s to project %s", cp.pluginConfig.TemplateGitRepo, req.RepoURL) - templateRepo, err := cp.helper.CloneTemplateRepo(cp.pluginConfig.TemplateGitRepo) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to clone repos") - } - defer os.RemoveAll(templateRepo) customerRepo, err := cp.helper.CloneUserRepo(ctx, req.RepoURL, req.VaultCredIdentifier) if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to clone repos") + return string(agentmodel.WorkFlowStatusFailed), errors.WithMessagef(err, "failed to clone repo %s", req.RepoURL) } - logger.Infof("cloned default templates to project %s", req.RepoURL) - defer os.RemoveAll(customerRepo) + logger.Infof("cloned project %s", req.RepoURL) + templateRepo, err := cp.helper.CloneTemplateRepo(cp.pluginConfig.TemplateGitRepo) + if err != nil { + return string(agentmodel.WorkFlowStatusFailed), errors.WithMessagef(err, "failed to clone repo %s", cp.pluginConfig.TemplateGitRepo) + } + defer os.RemoveAll(templateRepo) + err = cp.synchProviders(req, templateRepo, customerRepo) if err != nil { return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to update configs to repo") diff --git a/charts/kad/crossplane_plugin_config.json b/charts/kad/crossplane_plugin_config.json index a573d4fe..a60d4f41 100644 --- a/charts/kad/crossplane_plugin_config.json +++ b/charts/kad/crossplane_plugin_config.json @@ -1,7 +1,7 @@ { "templateGitRepo": "https://github.com/intelops/capten-templates", "crossplaneConfigSyncPath": "infra", - "providerConfigSyncPath": "infra/crossplane/crossplane-config", + "providerConfigSyncPath": "infra/crossplane/providers", "providerPackages": { "aws": "xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0", "gcp": "xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0"