From 5c5288fd847875e165c6ecc85607762a3400cf31 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Fri, 21 Jan 2022 11:55:31 -0700 Subject: [PATCH 01/10] Only add deploy key when needed --- cmd/gitops/add/clusters/cmd.go | 2 +- cmd/gitops/delete/clusters/cmd.go | 2 +- cmd/gitops/install/cmd.go | 4 +- cmd/internal/provider_test.go | 8 ++-- pkg/flux/flux_test.go | 8 ++-- pkg/gitproviders/provider_org_test.go | 2 +- pkg/gitproviders/provider_user_test.go | 2 +- pkg/gitproviders/repo_url.go | 32 ++++++------- pkg/gitproviders/repo_url_test.go | 2 +- pkg/server/internal/provider_test.go | 2 +- pkg/server/server.go | 6 +-- pkg/services/app/add.go | 8 ++-- pkg/services/app/commit.go | 2 +- pkg/services/applicationv2/fetcher.go | 4 +- pkg/services/auth/auth.go | 10 ---- pkg/services/auth/auth_test.go | 4 +- pkg/services/automation/automation_test.go | 2 +- pkg/services/automation/generator.go | 4 +- pkg/services/factory.go | 49 ++++---------------- pkg/services/gitops/install.go | 2 +- pkg/services/gitopswriter/writer_add_test.go | 2 +- pkg/upgrade/upgrade.go | 4 +- test/acceptance/test/utils.go | 2 +- test/integration/server/add_test.go | 18 +++---- 24 files changed, 66 insertions(+), 115 deletions(-) diff --git a/cmd/gitops/add/clusters/cmd.go b/cmd/gitops/add/clusters/cmd.go index 64728b19a19..9faf5ff6225 100644 --- a/cmd/gitops/add/clusters/cmd.go +++ b/cmd/gitops/add/clusters/cmd.go @@ -117,7 +117,7 @@ func getClusterCmdRunE(endpoint *string, client *resty.Client) func(*cobra.Comma return cmderrors.ErrNoURL } - url, err := gitproviders.NewRepoURL(flags.RepositoryURL, true) + url, err := gitproviders.NewRepoURL(flags.RepositoryURL) if err != nil { return fmt.Errorf("cannot parse url: %w", err) } diff --git a/cmd/gitops/delete/clusters/cmd.go b/cmd/gitops/delete/clusters/cmd.go index bb2be395de4..f12c85953a4 100644 --- a/cmd/gitops/delete/clusters/cmd.go +++ b/cmd/gitops/delete/clusters/cmd.go @@ -73,7 +73,7 @@ func getClusterCmdRunE(endpoint *string, client *resty.Client) func(*cobra.Comma return cmderrors.ErrNoURL } - url, err := gitproviders.NewRepoURL(flags.RepositoryURL, true) + url, err := gitproviders.NewRepoURL(flags.RepositoryURL) if err != nil { return fmt.Errorf("cannot parse url: %w", err) } diff --git a/cmd/gitops/install/cmd.go b/cmd/gitops/install/cmd.go index b018bc16b2f..75c215c9c86 100644 --- a/cmd/gitops/install/cmd.go +++ b/cmd/gitops/install/cmd.go @@ -65,7 +65,7 @@ func installRunCmd(cmd *cobra.Command, args []string) error { ctx := context.Background() namespace, _ := cmd.Parent().Flags().GetString("namespace") - configURL, err := gitproviders.NewRepoURL(installParams.ConfigRepo, true) + configURL, err := gitproviders.NewRepoURL(installParams.ConfigRepo) if err != nil { return err } @@ -116,8 +116,6 @@ func installRunCmd(cmd *cobra.Command, args []string) error { // This is going to be broken up to reduce complexity // and then generates the source yaml of the config repo when using dry-run option gitClient, gitProvider, err := factory.GetGitClients(context.Background(), providerClient, services.GitConfigParams{ - // We need to set URL and ConfigRepo to the same value so a deploy key is created for public config repos - URL: installParams.ConfigRepo, ConfigRepo: installParams.ConfigRepo, Namespace: namespace, DryRun: installParams.DryRun, diff --git a/cmd/internal/provider_test.go b/cmd/internal/provider_test.go index bbd6034b73c..ff2ad4c12dd 100644 --- a/cmd/internal/provider_test.go +++ b/cmd/internal/provider_test.go @@ -72,7 +72,7 @@ var _ = Describe("Get git provider", func() { It("invalid token key returns an error", func() { fakeLogger = &loggerfakes.FakeLogger{} client = NewGitProviderClient(os.Stdout, fakeEnvLookupExists, fakeAuthHandlerFuncError, fakeLogger) - repoUrl, _ = gitproviders.NewRepoURL("ssh://git@some-bucket.com/weaveworks/weave-gitops.git", false) + repoUrl, _ = gitproviders.NewRepoURL("ssh://git@some-bucket.com/weaveworks/weave-gitops.git") provider, err := client.GetProvider(repoUrl, fakeAccountGetterSuccess) Expect(provider).To(BeNil()) @@ -87,7 +87,7 @@ var _ = Describe("Get git provider", func() { BeforeEach(func() { fakeLogger = &loggerfakes.FakeLogger{} client = NewGitProviderClient(os.Stdout, fakeEnvLookupExists, fakeAuthHandlerFuncError, fakeLogger) - repoUrl, _ = gitproviders.NewRepoURL("ssh://git@github.com/weaveworks/weave-gitops.git", false) + repoUrl, _ = gitproviders.NewRepoURL("ssh://git@github.com/weaveworks/weave-gitops.git") }) It("gitproviders.New returns an error", func() { @@ -111,7 +111,7 @@ var _ = Describe("Get git provider", func() { BeforeEach(func() { fakeLogger = &loggerfakes.FakeLogger{} client = NewGitProviderClient(os.Stdout, fakeEnvLookupExists, fakeAuthHandlerFuncError, fakeLogger) - repoUrl, _ = gitproviders.NewRepoURL("ssh://git@gitlab.com/weaveworks/weave-gitops.git", false) + repoUrl, _ = gitproviders.NewRepoURL("ssh://git@gitlab.com/weaveworks/weave-gitops.git") }) It("gitproviders.New returns an error", func() { @@ -135,7 +135,7 @@ var _ = Describe("Get git provider", func() { fakeLogger = &loggerfakes.FakeLogger{ WarningfStub: func(fmtArg string, restArgs ...interface{}) {}, } - repoUrl, _ = gitproviders.NewRepoURL("ssh://git@github.com/weaveworks/weave-gitops.git", false) + repoUrl, _ = gitproviders.NewRepoURL("ssh://git@github.com/weaveworks/weave-gitops.git") }) AfterEach(func() { diff --git a/pkg/flux/flux_test.go b/pkg/flux/flux_test.go index d8479814fcf..8ec22d45850 100644 --- a/pkg/flux/flux_test.go +++ b/pkg/flux/flux_test.go @@ -84,7 +84,7 @@ var _ = Describe("CreateSourceGit", func() { return []byte("out"), nil } - repoUrl, err := gitproviders.NewRepoURL("https://github.com/foo/my-name", false) + repoUrl, err := gitproviders.NewRepoURL("https://github.com/foo/my-name") Expect(err).ShouldNot(HaveOccurred()) out, err := fluxClient.CreateSourceGit("my-name", repoUrl, "main", "my-secret", wego.DefaultNamespace) Expect(err).ShouldNot(HaveOccurred()) @@ -100,7 +100,7 @@ var _ = Describe("CreateSourceGit", func() { runner.RunStub = func(s1 string, s2 ...string) ([]byte, error) { return []byte("out"), nil } - repoUrl, err := gitproviders.NewRepoURL("ssh://git@github.com/foo/my-name", false) + repoUrl, err := gitproviders.NewRepoURL("ssh://git@github.com/foo/my-name") Expect(err).ShouldNot(HaveOccurred()) out, err := fluxClient.CreateSourceGit("my-name", repoUrl, "main", "", wego.DefaultNamespace) Expect(err).ShouldNot(HaveOccurred()) @@ -119,7 +119,7 @@ var _ = Describe("CreateSourceGit", func() { return []byte("out"), nil } - repoUrl, err := gitproviders.NewRepoURL("ssh://git@gitlab.com/foo/my-name", false) + repoUrl, err := gitproviders.NewRepoURL("ssh://git@gitlab.com/foo/my-name") Expect(err).ShouldNot(HaveOccurred()) out, err := fluxClient.CreateSourceGit("my-name", repoUrl, "main", "", wego.DefaultNamespace) Expect(err).ShouldNot(HaveOccurred()) @@ -244,7 +244,7 @@ var _ = Describe("CreateSecretGit", func() { return []byte(`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCh...`), nil } - repoUrl, err := gitproviders.NewRepoURL("ssh://git@github.com/foo/bar.git", false) + repoUrl, err := gitproviders.NewRepoURL("ssh://git@github.com/foo/bar.git") Expect(err).ShouldNot(HaveOccurred()) out, err := fluxClient.CreateSecretGit("my-secret", repoUrl, wego.DefaultNamespace) Expect(err).ShouldNot(HaveOccurred()) diff --git a/pkg/gitproviders/provider_org_test.go b/pkg/gitproviders/provider_org_test.go index c995725fa37..ecfb3c90c5a 100644 --- a/pkg/gitproviders/provider_org_test.go +++ b/pkg/gitproviders/provider_org_test.go @@ -48,7 +48,7 @@ var _ = Describe("Org Provider", func() { } var err error - repoUrl, err = NewRepoURL("http://github.com/owner/repo-name", false) + repoUrl, err = NewRepoURL("http://github.com/owner/repo-name") Expect(err).ToNot(HaveOccurred()) }) diff --git a/pkg/gitproviders/provider_user_test.go b/pkg/gitproviders/provider_user_test.go index 3b21c15275b..72155512ff7 100644 --- a/pkg/gitproviders/provider_user_test.go +++ b/pkg/gitproviders/provider_user_test.go @@ -46,7 +46,7 @@ var _ = Describe("User Provider", func() { } var err error - repoUrl, err = NewRepoURL("http://github.com/owner/repo-name", false) + repoUrl, err = NewRepoURL("http://github.com/owner/repo-name") Expect(err).ToNot(HaveOccurred()) }) diff --git a/pkg/gitproviders/repo_url.go b/pkg/gitproviders/repo_url.go index 7912be1a2a7..725bd80b251 100644 --- a/pkg/gitproviders/repo_url.go +++ b/pkg/gitproviders/repo_url.go @@ -17,16 +17,15 @@ const RepositoryURLProtocolHTTPS RepositoryURLProtocol = "https" const RepositoryURLProtocolSSH RepositoryURLProtocol = "ssh" type RepoURL struct { - repoName string - owner string - url *url.URL - normalized string - provider GitProviderName - protocol RepositoryURLProtocol - isConfigRepo bool + repoName string + owner string + url *url.URL + normalized string + provider GitProviderName + protocol RepositoryURLProtocol } -func NewRepoURL(uri string, isConfigRepo bool) (RepoURL, error) { +func NewRepoURL(uri string) (RepoURL, error) { providerName, err := detectGitProviderFromUrl(uri, ViperGetStringMapString("git-host-types")) if err != nil { return RepoURL{}, fmt.Errorf("could not get provider name from URL %s: %w", uri, err) @@ -53,13 +52,12 @@ func NewRepoURL(uri string, isConfigRepo bool) (RepoURL, error) { } return RepoURL{ - repoName: utils.UrlToRepoName(uri), - owner: owner, - url: u, - normalized: normalized, - provider: providerName, - protocol: protocol, - isConfigRepo: isConfigRepo, + repoName: utils.UrlToRepoName(uri), + owner: owner, + url: u, + normalized: normalized, + provider: providerName, + protocol: protocol, }, nil } @@ -87,10 +85,6 @@ func (n RepoURL) Protocol() RepositoryURLProtocol { return n.protocol } -func (n RepoURL) IsConfigRepo() bool { - return n.isConfigRepo -} - func getOwnerFromUrl(url url.URL, providerName GitProviderName) (string, error) { url.Path = strings.TrimPrefix(url.Path, "/") diff --git a/pkg/gitproviders/repo_url_test.go b/pkg/gitproviders/repo_url_test.go index 83296005e92..773a5915ec5 100644 --- a/pkg/gitproviders/repo_url_test.go +++ b/pkg/gitproviders/repo_url_test.go @@ -71,7 +71,7 @@ var _ = DescribeTable("NewRepoURL", func(input, gitProviderEnv string, expected if gitProviderEnv != "" { viper.Set("git-host-types", gitProviderEnv) } - result, err := NewRepoURL(input, false) + result, err := NewRepoURL(input) Expect(err).NotTo(HaveOccurred()) Expect(result.String()).To(Equal(expected.s)) diff --git a/pkg/server/internal/provider_test.go b/pkg/server/internal/provider_test.go index f1fe89a2757..a0a618018d5 100644 --- a/pkg/server/internal/provider_test.go +++ b/pkg/server/internal/provider_test.go @@ -24,7 +24,7 @@ var _ = Describe("Get git provider", func() { var repoUrl gitproviders.RepoURL BeforeEach(func() { client = NewGitProviderClient(fakeToken) - repoUrl, _ = gitproviders.NewRepoURL("ssh://git@github.com/weaveworks/weave-gitops.git", false) + repoUrl, _ = gitproviders.NewRepoURL("ssh://git@github.com/weaveworks/weave-gitops.git") }) It("gitproviders.New throws an error", func() { diff --git a/pkg/server/server.go b/pkg/server/server.go index 3e0881c071d..ca4cbdd4754 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -292,14 +292,14 @@ func (s *applicationServer) AddApplication(ctx context.Context, msg *pb.AddAppli return nil, grpcStatus.Errorf(codes.Unauthenticated, "token error: %s", err.Error()) } - appUrl, err := gitproviders.NewRepoURL(msg.Url, false) + appUrl, err := gitproviders.NewRepoURL(msg.Url) if err != nil { return nil, grpcStatus.Errorf(codes.InvalidArgument, "unable to parse app url %q: %s", msg.Url, err) } var configRepo gitproviders.RepoURL if msg.ConfigRepo != "" { - configRepo, err = gitproviders.NewRepoURL(msg.ConfigRepo, true) + configRepo, err = gitproviders.NewRepoURL(msg.ConfigRepo) if err != nil { return nil, grpcStatus.Errorf(codes.InvalidArgument, "unable to parse config url %q: %s", msg.ConfigRepo, err) } @@ -658,7 +658,7 @@ func (s *applicationServer) Authenticate(_ context.Context, msg *pb.Authenticate } func (s *applicationServer) ParseRepoURL(ctx context.Context, msg *pb.ParseRepoURLRequest) (*pb.ParseRepoURLResponse, error) { - u, err := gitproviders.NewRepoURL(msg.Url, false) + u, err := gitproviders.NewRepoURL(msg.Url) if err != nil { return nil, grpcStatus.Errorf(codes.InvalidArgument, "could not parse url: %s", err.Error()) } diff --git a/pkg/services/app/add.go b/pkg/services/app/add.go index 701cf942e6a..6e7135be4af 100644 --- a/pkg/services/app/add.go +++ b/pkg/services/app/add.go @@ -148,7 +148,7 @@ func (a *AppSvc) updateParametersIfNecessary(ctx context.Context, gitProvider gi default: var err error - appRepoUrl, err = gitproviders.NewRepoURL(params.Url, false) + appRepoUrl, err = gitproviders.NewRepoURL(params.Url) if err != nil { return params, fmt.Errorf("error normalizing url: %w", err) } @@ -161,7 +161,7 @@ func (a *AppSvc) updateParametersIfNecessary(ctx context.Context, gitProvider gi // making sure the config url is in good format if models.IsExternalConfigRepo(params.ConfigRepo) { - configRepoUrl, err := gitproviders.NewRepoURL(params.ConfigRepo, true) + configRepoUrl, err := gitproviders.NewRepoURL(params.ConfigRepo) if err != nil { return params, fmt.Errorf("error normalizing url: %w", err) } @@ -236,7 +236,7 @@ func makeApplication(params AddParams) (models.Application, error) { if models.SourceType(params.SourceType) == models.SourceTypeHelm { helmSourceURL = params.Url } else { - gitSourceURL, err = gitproviders.NewRepoURL(params.Url, false) + gitSourceURL, err = gitproviders.NewRepoURL(params.Url) if err != nil { return models.Application{}, err } @@ -245,7 +245,7 @@ func makeApplication(params AddParams) (models.Application, error) { configRepo := gitSourceURL if params.ConfigRepo != "" { - curl, err := gitproviders.NewRepoURL(params.ConfigRepo, true) + curl, err := gitproviders.NewRepoURL(params.ConfigRepo) if err != nil { return models.Application{}, err } diff --git a/pkg/services/app/commit.go b/pkg/services/app/commit.go index 8dba064f536..843521bda1c 100644 --- a/pkg/services/app/commit.go +++ b/pkg/services/app/commit.go @@ -22,7 +22,7 @@ func (a *AppSvc) GetCommits(gitProvider gitproviders.GitProvider, params CommitP return nil, fmt.Errorf("unable to get commits for a helm chart") } - repoUrl, err := gitproviders.NewRepoURL(application.Spec.URL, false) + repoUrl, err := gitproviders.NewRepoURL(application.Spec.URL) if err != nil { return nil, fmt.Errorf("error creating normalized url: %w", err) } diff --git a/pkg/services/applicationv2/fetcher.go b/pkg/services/applicationv2/fetcher.go index 907beb6b7e9..6f3be8b0bc8 100644 --- a/pkg/services/applicationv2/fetcher.go +++ b/pkg/services/applicationv2/fetcher.go @@ -81,7 +81,7 @@ func translateApp(app wego.Application) (models.Application, error) { ) if wego.DeploymentType(app.Spec.SourceType) == wego.DeploymentType(wego.SourceTypeGit) { - appRepoUrl, err = gitproviders.NewRepoURL(app.Spec.URL, false) + appRepoUrl, err = gitproviders.NewRepoURL(app.Spec.URL) if err != nil { return models.Application{}, err } @@ -92,7 +92,7 @@ func translateApp(app wego.Application) (models.Application, error) { } if models.IsExternalConfigRepo(app.Spec.ConfigRepo) { - configRepoUrl, err = gitproviders.NewRepoURL(app.Spec.ConfigRepo, true) + configRepoUrl, err = gitproviders.NewRepoURL(app.Spec.ConfigRepo) if err != nil { return models.Application{}, err } diff --git a/pkg/services/auth/auth.go b/pkg/services/auth/auth.go index f5c74c08860..f334628f5ba 100644 --- a/pkg/services/auth/auth.go +++ b/pkg/services/auth/auth.go @@ -6,7 +6,6 @@ import ( "io" "net/http" - "github.com/fluxcd/go-git-providers/gitprovider" "github.com/weaveworks/weave-gitops/pkg/models" "github.com/weaveworks/weave-gitops/pkg/services/auth/internal" @@ -161,15 +160,6 @@ func (a *authSvc) setupDeployKey(ctx context.Context, name SecretName, targetNam } func (a *authSvc) provisionDeployKey(ctx context.Context, targetName string, name SecretName, repo gitproviders.RepoURL) (*ssh.PublicKeys, error) { - visibility, err := a.gitProvider.GetRepoVisibility(ctx, repo) - if err != nil { - return nil, fmt.Errorf("error getting repo visibility: %w", err) - } - - if *visibility == gitprovider.RepositoryVisibilityPublic && !repo.IsConfigRepo() { - return nil, nil - } - deployKey, secret, err := a.generateDeployKey(targetName, name, repo) if err != nil { return nil, fmt.Errorf("error generating deploy key: %w", err) diff --git a/pkg/services/auth/auth_test.go b/pkg/services/auth/auth_test.go index 3e716f360a2..4792b625f47 100644 --- a/pkg/services/auth/auth_test.go +++ b/pkg/services/auth/auth_test.go @@ -32,9 +32,9 @@ var _ = Describe("auth", func() { var namespace *corev1.Namespace testClustername := "test-cluster" repoUrlString := "ssh://git@github.com/my-org/my-repo.git" - configRepoUrl, err := gitproviders.NewRepoURL(repoUrlString, true) + configRepoUrl, err := gitproviders.NewRepoURL(repoUrlString) Expect(err).NotTo(HaveOccurred()) - repoUrl, err := gitproviders.NewRepoURL(repoUrlString, false) + repoUrl, err := gitproviders.NewRepoURL(repoUrlString) Expect(err).NotTo(HaveOccurred()) BeforeEach(func() { diff --git a/pkg/services/automation/automation_test.go b/pkg/services/automation/automation_test.go index e1a4e2cd7a8..aec44660917 100644 --- a/pkg/services/automation/automation_test.go +++ b/pkg/services/automation/automation_test.go @@ -21,7 +21,7 @@ var ( ) func createRepoURL(url string) gitproviders.RepoURL { - repoURL, err := gitproviders.NewRepoURL(url, false) + repoURL, err := gitproviders.NewRepoURL(url) Expect(err).NotTo(HaveOccurred()) return repoURL diff --git a/pkg/services/automation/generator.go b/pkg/services/automation/generator.go index c04bd05be85..6e0f347ad1a 100644 --- a/pkg/services/automation/generator.go +++ b/pkg/services/automation/generator.go @@ -277,7 +277,7 @@ func WegoAppToApp(app wego.Application) (models.Application, error) { ) if wego.SourceType(app.Spec.SourceType) == wego.SourceType(wego.SourceTypeGit) { - appRepoUrl, err = gitproviders.NewRepoURL(app.Spec.URL, false) + appRepoUrl, err = gitproviders.NewRepoURL(app.Spec.URL) if err != nil { return models.Application{}, err } @@ -286,7 +286,7 @@ func WegoAppToApp(app wego.Application) (models.Application, error) { } if models.IsExternalConfigRepo(app.Spec.ConfigRepo) { - configRepoUrl, err = gitproviders.NewRepoURL(app.Spec.ConfigRepo, true) + configRepoUrl, err = gitproviders.NewRepoURL(app.Spec.ConfigRepo) if err != nil { return models.Application{}, err } diff --git a/pkg/services/factory.go b/pkg/services/factory.go index 34cbf1ddae6..781c768f22e 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -13,7 +13,6 @@ import ( "github.com/weaveworks/weave-gitops/pkg/gitproviders" "github.com/weaveworks/weave-gitops/pkg/kube" "github.com/weaveworks/weave-gitops/pkg/logger" - "github.com/weaveworks/weave-gitops/pkg/models" "github.com/weaveworks/weave-gitops/pkg/osys" "github.com/weaveworks/weave-gitops/pkg/services/app" "github.com/weaveworks/weave-gitops/pkg/services/auth" @@ -104,20 +103,13 @@ func (f *defaultFactory) GetKubeService() (kube.Kube, error) { } func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitproviders.Client, params GitConfigParams) (git.Git, gitproviders.GitProvider, error) { - isExternalConfig := models.IsExternalConfigRepo(params.ConfigRepo) - var providerUrl string - - switch { - case !params.IsHelmRepository: - providerUrl = params.URL - case isExternalConfig: - providerUrl = params.ConfigRepo - default: - return nil, nil, nil + // This is temporary. When config repo is always present in the config map this can be removed. + if params.ConfigRepo == "" && !params.IsHelmRepository { + params.ConfigRepo = params.URL } - normalizedUrl, err := gitproviders.NewRepoURL(providerUrl, false) + configNormalizedUrl, err := gitproviders.NewRepoURL(params.ConfigRepo) if err != nil { return nil, nil, fmt.Errorf("error normalizing url: %w", err) } @@ -132,40 +124,17 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider return nil, nil, fmt.Errorf("error getting target name: %w", err) } - authSvc, err := f.getAuthService(normalizedUrl, gpClient, params.DryRun) + authSvc, err := f.getAuthService(configNormalizedUrl, gpClient, params.DryRun) if err != nil { return nil, nil, fmt.Errorf("error creating auth service: %w", err) } - var appClient, configClient git.Git - - if !params.IsHelmRepository { - // We need to do this even if we have an external config to set up the deploy key for the app repo - appRepoClient, appRepoErr := authSvc.CreateGitClient(ctx, normalizedUrl, targetName, params.Namespace, params.DryRun) - if appRepoErr != nil { - return nil, nil, appRepoErr - } - - appClient = appRepoClient - } - - if isExternalConfig { - normalizedConfigRepo, err := gitproviders.NewRepoURL(params.ConfigRepo, true) - if err != nil { - return nil, nil, fmt.Errorf("error normalizing url: %w", err) - } - - configRepoClient, configRepoErr := authSvc.CreateGitClient(ctx, normalizedConfigRepo, targetName, params.Namespace, params.DryRun) - if configRepoErr != nil { - return nil, nil, configRepoErr - } - - configClient = configRepoClient - } else { - configClient = appClient + client, err := authSvc.CreateGitClient(ctx, configNormalizedUrl, targetName, params.Namespace, params.DryRun) + if err != nil { + return nil, nil, err } - return configClient, authSvc.GetGitProvider(), nil + return client, authSvc.GetGitProvider(), nil } func (f *defaultFactory) getAuthService(normalizedUrl gitproviders.RepoURL, gpClient gitproviders.Client, dryRun bool) (auth.AuthService, error) { diff --git a/pkg/services/gitops/install.go b/pkg/services/gitops/install.go index 50a9025b99a..13d0346cc0d 100644 --- a/pkg/services/gitops/install.go +++ b/pkg/services/gitops/install.go @@ -160,7 +160,7 @@ func (g *Gitops) validateWegoInstall(ctx context.Context, params InstallParams) func (g *Gitops) storeManifests(gitClient git.Git, gitProvider gitproviders.GitProvider, params InstallParams, systemManifests map[string][]byte, cname string) (map[string][]byte, error) { ctx := context.Background() - normalizedURL, err := gitproviders.NewRepoURL(params.ConfigRepo, true) + normalizedURL, err := gitproviders.NewRepoURL(params.ConfigRepo) if err != nil { return nil, fmt.Errorf("failed to convert app config repo %q : %w", params.ConfigRepo, err) } diff --git a/pkg/services/gitopswriter/writer_add_test.go b/pkg/services/gitopswriter/writer_add_test.go index 7914981a37e..675ec3bc344 100644 --- a/pkg/services/gitopswriter/writer_add_test.go +++ b/pkg/services/gitopswriter/writer_add_test.go @@ -23,7 +23,7 @@ var ( ) func createRepoURL(url string) gitproviders.RepoURL { - repoURL, err := gitproviders.NewRepoURL(url, false) + repoURL, err := gitproviders.NewRepoURL(url) Expect(err).NotTo(HaveOccurred()) return repoURL diff --git a/pkg/upgrade/upgrade.go b/pkg/upgrade/upgrade.go index 4e83f0698e1..a46678aaac2 100644 --- a/pkg/upgrade/upgrade.go +++ b/pkg/upgrade/upgrade.go @@ -91,7 +91,7 @@ func upgrade(ctx context.Context, uv UpgradeValues, kube kube.Kube, gitClient gi return fmt.Errorf("failed to load credentials for profiles repo from cluster: %v", err) } - normalizedURL, err := gitproviders.NewRepoURL(uv.ConfigRepo, true) + normalizedURL, err := gitproviders.NewRepoURL(uv.ConfigRepo) if err != nil { return fmt.Errorf("failed to normalize URL %q: %w", uv.ConfigRepo, err) } @@ -160,7 +160,7 @@ func marshalToYamlStream(objects []runtime.Object) ([]byte, error) { } func makeAppsCapiKustomization(namespace, repoURL string) ([]runtime.Object, error) { - normalizedURL, err := gitproviders.NewRepoURL(repoURL, false) + normalizedURL, err := gitproviders.NewRepoURL(repoURL) if err != nil { return nil, fmt.Errorf("failed to normalize URL %q: %w", repoURL, err) } diff --git a/test/acceptance/test/utils.go b/test/acceptance/test/utils.go index c93172b94a5..519c7449bb3 100644 --- a/test/acceptance/test/utils.go +++ b/test/acceptance/test/utils.go @@ -720,7 +720,7 @@ func mergePR(repoAbsolutePath, prLink string, providerName gitproviders.GitProvi } func extractOrgAndRepo(url string) (string, string) { - normalized, normErr := gitproviders.NewRepoURL(url, false) + normalized, normErr := gitproviders.NewRepoURL(url) Expect(normErr).ShouldNot(HaveOccurred()) re := regexp.MustCompile("^[^/]+//[^/]+/([^/]+)/([^/]+).*$") diff --git a/test/integration/server/add_test.go b/test/integration/server/add_test.go index 5f4e88f91bb..dfe4bedc565 100644 --- a/test/integration/server/add_test.go +++ b/test/integration/server/add_test.go @@ -130,7 +130,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSource := sourcev1.GitRepositorySpec{ @@ -195,7 +195,7 @@ var _ = Describe("AddApplication", func() { actual, err := fetcher.GetFilesForPullRequest(ctx, 1, githubOrg, configRepoName, fs) Expect(err).NotTo(HaveOccurred()) - normalizedUrl, err := gitproviders.NewRepoURL(addAppRequest.Url, false) + normalizedUrl, err := gitproviders.NewRepoURL(addAppRequest.Url) Expect(err).NotTo(HaveOccurred()) expectedApp := wego.ApplicationSpec{ @@ -218,7 +218,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSource := sourcev1.GitRepositorySpec{ @@ -309,7 +309,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSrc := sourcev1.GitRepositorySpec{ @@ -440,7 +440,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSrc := sourcev1.GitRepositorySpec{ @@ -547,7 +547,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSource := sourcev1.GitRepositorySpec{ @@ -611,7 +611,7 @@ var _ = Describe("AddApplication", func() { actual, err := fetcher.GetFilesForPullRequest(ctx, 1, gitlabOrg, configRepoName, fs) Expect(err).NotTo(HaveOccurred()) - normalizedUrl, err := gitproviders.NewRepoURL(addAppRequest.Url, false) + normalizedUrl, err := gitproviders.NewRepoURL(addAppRequest.Url) Expect(err).NotTo(HaveOccurred()) expectedApp := wego.ApplicationSpec{ @@ -634,7 +634,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSource := sourcev1.GitRepositorySpec{ @@ -731,7 +731,7 @@ var _ = Describe("AddApplication", func() { Force: false, } - repoURL, err := gitproviders.NewRepoURL(sourceRepoURL, true) + repoURL, err := gitproviders.NewRepoURL(sourceRepoURL) Expect(err).NotTo(HaveOccurred()) expectedSrc := sourcev1.GitRepositorySpec{ From 2c1b3291edc695f986a9f20d2592cd4a11e683e5 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Fri, 21 Jan 2022 12:01:01 -0700 Subject: [PATCH 02/10] lint --- pkg/services/factory.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/services/factory.go b/pkg/services/factory.go index 781c768f22e..d00a37321c2 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -103,7 +103,6 @@ func (f *defaultFactory) GetKubeService() (kube.Kube, error) { } func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitproviders.Client, params GitConfigParams) (git.Git, gitproviders.GitProvider, error) { - // This is temporary. When config repo is always present in the config map this can be removed. if params.ConfigRepo == "" && !params.IsHelmRepository { params.ConfigRepo = params.URL From 1ab1d09a405e58c0d5b22b58999efa780e754376 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Fri, 21 Jan 2022 14:48:44 -0700 Subject: [PATCH 03/10] add deploy key for private repo on add --- pkg/services/auth/auth.go | 7 ++++--- pkg/services/factory.go | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/pkg/services/auth/auth.go b/pkg/services/auth/auth.go index f334628f5ba..d6e2e75197b 100644 --- a/pkg/services/auth/auth.go +++ b/pkg/services/auth/auth.go @@ -68,6 +68,7 @@ func (sn SecretName) NamespacedName() types.NamespacedName { type AuthService interface { CreateGitClient(ctx context.Context, repoUrl gitproviders.RepoURL, targetName string, namespace string, dryRun bool) (git.Git, error) + SetupDeployKey(ctx context.Context, name SecretName, targetName string, repo gitproviders.RepoURL) (*ssh.PublicKeys, error) GetGitProvider() gitproviders.GitProvider } @@ -108,7 +109,7 @@ func (a *authSvc) CreateGitClient(ctx context.Context, repoUrl gitproviders.Repo Namespace: namespace, } - pubKey, keyErr := a.setupDeployKey(ctx, secretName, targetName, repoUrl) + pubKey, keyErr := a.SetupDeployKey(ctx, secretName, targetName, repoUrl) if keyErr != nil { return nil, fmt.Errorf("error setting up deploy keys: %w", keyErr) } @@ -123,9 +124,9 @@ func (a *authSvc) CreateGitClient(ctx context.Context, repoUrl gitproviders.Repo return git.New(pubKey, wrapper.NewGoGit()), nil } -// setupDeployKey creates a git.Git client instrumented with existing or generated deploy keys. +// SetupDeployKey creates a git.Git client instrumented with existing or generated deploy keys. // This ensures that git operations are done with stored deploy keys instead of a user's local ssh-agent or equivalent. -func (a *authSvc) setupDeployKey(ctx context.Context, name SecretName, targetName string, repo gitproviders.RepoURL) (*ssh.PublicKeys, error) { +func (a *authSvc) SetupDeployKey(ctx context.Context, name SecretName, targetName string, repo gitproviders.RepoURL) (*ssh.PublicKeys, error) { deployKeyExists, err := a.gitProvider.DeployKeyExists(ctx, repo) if err != nil { return nil, fmt.Errorf("failed check for existing deploy key: %w", err) diff --git a/pkg/services/factory.go b/pkg/services/factory.go index d00a37321c2..016dcb29ff6 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -7,6 +7,7 @@ import ( "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" + "github.com/fluxcd/go-git-providers/gitprovider" wego "github.com/weaveworks/weave-gitops/api/v1alpha1" "github.com/weaveworks/weave-gitops/pkg/flux" "github.com/weaveworks/weave-gitops/pkg/git" @@ -16,6 +17,7 @@ import ( "github.com/weaveworks/weave-gitops/pkg/osys" "github.com/weaveworks/weave-gitops/pkg/services/app" "github.com/weaveworks/weave-gitops/pkg/services/auth" + "github.com/weaveworks/weave-gitops/pkg/services/automation" ) //go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate @@ -128,6 +130,28 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider return nil, nil, fmt.Errorf("error creating auth service: %w", err) } + normalizedUrl, err := gitproviders.NewRepoURL(params.URL) + if err != nil { + return nil, nil, fmt.Errorf("error normalizing url: %w", err) + } + + provider := authSvc.GetGitProvider() + repoVisibility, err := provider.GetRepoVisibility(ctx, normalizedUrl) + if err != nil { + return nil, nil, fmt.Errorf("error getting repo visibility: %w", err) + } + + if *repoVisibility == gitprovider.RepositoryVisibilityPrivate { + secretName := auth.SecretName{ + Name: automation.CreateRepoSecretName(normalizedUrl), + Namespace: params.Namespace, + } + _, err = authSvc.SetupDeployKey(ctx, secretName, targetName, normalizedUrl) + if err != nil { + return nil, nil, fmt.Errorf("error setting up deploy key: %w", err) + } + } + client, err := authSvc.CreateGitClient(ctx, configNormalizedUrl, targetName, params.Namespace, params.DryRun) if err != nil { return nil, nil, err From f856afb20230fdea4d8a44b68de470312652bc67 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Fri, 21 Jan 2022 14:57:38 -0700 Subject: [PATCH 04/10] lint --- pkg/services/factory.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/services/factory.go b/pkg/services/factory.go index 016dcb29ff6..93544ba14ee 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -136,6 +136,7 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider } provider := authSvc.GetGitProvider() + repoVisibility, err := provider.GetRepoVisibility(ctx, normalizedUrl) if err != nil { return nil, nil, fmt.Errorf("error getting repo visibility: %w", err) @@ -146,6 +147,7 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider Name: automation.CreateRepoSecretName(normalizedUrl), Namespace: params.Namespace, } + _, err = authSvc.SetupDeployKey(ctx, secretName, targetName, normalizedUrl) if err != nil { return nil, nil, fmt.Errorf("error setting up deploy key: %w", err) From 6fda774305772c1f6784cd4ab3cebb800376c8a6 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Mon, 24 Jan 2022 09:22:21 -0700 Subject: [PATCH 05/10] fix unit-tests --- pkg/services/auth/auth_test.go | 9 --------- pkg/services/factory.go | 37 ++++++++++++++++++---------------- pkg/services/factory_test.go | 22 -------------------- 3 files changed, 20 insertions(+), 48 deletions(-) diff --git a/pkg/services/auth/auth_test.go b/pkg/services/auth/auth_test.go index 4792b625f47..99da021080d 100644 --- a/pkg/services/auth/auth_test.go +++ b/pkg/services/auth/auth_test.go @@ -108,14 +108,5 @@ var _ = Describe("auth", func() { Expect(k8sClient.Get(ctx, sn.NamespacedName(), newSecret)).To(Succeed()) Expect(gp.UploadDeployKeyCallCount()).To(Equal(1)) }) - - It("avoids deploying key for non config repos", func() { - gp.GetRepoVisibilityReturns(gitprovider.RepositoryVisibilityVar(gitprovider.RepositoryVisibilityPublic), nil) - - _, err = as.CreateGitClient(ctx, repoUrl, testClustername, namespace.Name, false) - Expect(err).NotTo(HaveOccurred()) - - Expect(gp.UploadDeployKeyCallCount()).To(Equal(0)) - }) }) }) diff --git a/pkg/services/factory.go b/pkg/services/factory.go index 93544ba14ee..eccb49a28c4 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -130,27 +130,30 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider return nil, nil, fmt.Errorf("error creating auth service: %w", err) } - normalizedUrl, err := gitproviders.NewRepoURL(params.URL) - if err != nil { - return nil, nil, fmt.Errorf("error normalizing url: %w", err) - } + // Do not add deploy key for helm repo, empty url or if its gonna be added below + if !params.IsHelmRepository || params.URL != "" || params.URL != params.ConfigRepo { + normalizedUrl, err := gitproviders.NewRepoURL(params.URL) + if err != nil { + return nil, nil, fmt.Errorf("error normalizing url: %w", err) + } - provider := authSvc.GetGitProvider() + provider := authSvc.GetGitProvider() - repoVisibility, err := provider.GetRepoVisibility(ctx, normalizedUrl) - if err != nil { - return nil, nil, fmt.Errorf("error getting repo visibility: %w", err) - } - - if *repoVisibility == gitprovider.RepositoryVisibilityPrivate { - secretName := auth.SecretName{ - Name: automation.CreateRepoSecretName(normalizedUrl), - Namespace: params.Namespace, + repoVisibility, err := provider.GetRepoVisibility(ctx, normalizedUrl) + if err != nil { + return nil, nil, fmt.Errorf("error getting repo visibility: %w", err) } - _, err = authSvc.SetupDeployKey(ctx, secretName, targetName, normalizedUrl) - if err != nil { - return nil, nil, fmt.Errorf("error setting up deploy key: %w", err) + if *repoVisibility == gitprovider.RepositoryVisibilityPrivate { + secretName := auth.SecretName{ + Name: automation.CreateRepoSecretName(normalizedUrl), + Namespace: params.Namespace, + } + + _, err = authSvc.SetupDeployKey(ctx, secretName, targetName, normalizedUrl) + if err != nil { + return nil, nil, fmt.Errorf("error setting up deploy key: %w", err) + } } } diff --git a/pkg/services/factory_test.go b/pkg/services/factory_test.go index 41df5a57231..31c16117f92 100644 --- a/pkg/services/factory_test.go +++ b/pkg/services/factory_test.go @@ -8,7 +8,6 @@ import ( "github.com/weaveworks/weave-gitops/pkg/flux/fluxfakes" "github.com/weaveworks/weave-gitops/pkg/gitproviders/gitprovidersfakes" "github.com/weaveworks/weave-gitops/pkg/logger/loggerfakes" - "github.com/weaveworks/weave-gitops/pkg/services/app" ) var _ = Describe("Services factory", func() { @@ -36,27 +35,6 @@ var _ = Describe("Services factory", func() { Expect(err.Error()).To(MatchRegexp("error normalizing url*.")) }) - It("config is for a helm repository", func() { - gitClient, gitProvider, err := factory.GetGitClients(ctx, fakeClient, GitConfigParams{ - IsHelmRepository: true, - }) - - Expect(gitClient).To(BeNil()) - Expect(gitProvider).To(BeNil()) - Expect(err).To(BeNil()) - }) - - It("app add params is helm chart", func() { - params := app.AddParams{Chart: "this-chart"} - gitClient, gitProvider, err := factory.GetGitClients(ctx, fakeClient, GitConfigParams{ - IsHelmRepository: params.IsHelmRepository(), - }) - - Expect(gitClient).To(BeNil()) - Expect(gitProvider).To(BeNil()) - Expect(err).To(BeNil()) - }) - It("config type user repo and empty url return error", func() { gitClient, gitProvider, err := factory.GetGitClients(ctx, fakeClient, GitConfigParams{ ConfigRepo: "", From f1073eed91242531695ade89c0bb2ee4c104f4f7 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Mon, 24 Jan 2022 10:24:07 -0700 Subject: [PATCH 06/10] rebase --- pkg/services/factory.go | 4 ++-- pkg/services/install/install_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/services/factory.go b/pkg/services/factory.go index eccb49a28c4..613c88252d6 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -14,10 +14,10 @@ import ( "github.com/weaveworks/weave-gitops/pkg/gitproviders" "github.com/weaveworks/weave-gitops/pkg/kube" "github.com/weaveworks/weave-gitops/pkg/logger" + "github.com/weaveworks/weave-gitops/pkg/models" "github.com/weaveworks/weave-gitops/pkg/osys" "github.com/weaveworks/weave-gitops/pkg/services/app" "github.com/weaveworks/weave-gitops/pkg/services/auth" - "github.com/weaveworks/weave-gitops/pkg/services/automation" ) //go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate @@ -146,7 +146,7 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider if *repoVisibility == gitprovider.RepositoryVisibilityPrivate { secretName := auth.SecretName{ - Name: automation.CreateRepoSecretName(normalizedUrl), + Name: models.CreateRepoSecretName(normalizedUrl), Namespace: params.Namespace, } diff --git a/pkg/services/install/install_test.go b/pkg/services/install/install_test.go index 69475bb8fc7..a773cdf5c3c 100644 --- a/pkg/services/install/install_test.go +++ b/pkg/services/install/install_test.go @@ -43,7 +43,7 @@ var _ = Describe("Installer", func() { const clusterName = "test-cluster" var _ = BeforeEach(func() { testNamespace = "test-namespace" - configRepo, err = gitproviders.NewRepoURL("ssh://git@github.com/test-user/test-repo", true) + configRepo, err = gitproviders.NewRepoURL("ssh://git@github.com/test-user/test-repo") Expect(err).ShouldNot(HaveOccurred()) fakeFluxClient = &fluxfakes.FakeFlux{} fakeKubeClient = &kubefakes.FakeKube{} From 7bb4dd4bdb24b58bd8aa9e71595eba7e524446d2 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Mon, 24 Jan 2022 10:29:49 -0700 Subject: [PATCH 07/10] lint --- pkg/models/manifest_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/models/manifest_test.go b/pkg/models/manifest_test.go index f5fd0ecdbe2..39e187bc29d 100644 --- a/pkg/models/manifest_test.go +++ b/pkg/models/manifest_test.go @@ -29,7 +29,7 @@ var _ = Describe("Installer", func() { var err error var _ = BeforeEach(func() { fakeFluxClient = &fluxfakes.FakeFlux{} - configRepo, err = gitproviders.NewRepoURL("ssh://git@github.com/test-user/test-repo", true) + configRepo, err = gitproviders.NewRepoURL("ssh://git@github.com/test-user/test-repo") Expect(err).ShouldNot(HaveOccurred()) }) From 4ac5ad4b7f3751d2af87406859975935fe84bb04 Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Mon, 24 Jan 2022 11:05:22 -0700 Subject: [PATCH 08/10] fix error --- pkg/services/factory.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/services/factory.go b/pkg/services/factory.go index 613c88252d6..774ec56fd58 100644 --- a/pkg/services/factory.go +++ b/pkg/services/factory.go @@ -112,7 +112,7 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider configNormalizedUrl, err := gitproviders.NewRepoURL(params.ConfigRepo) if err != nil { - return nil, nil, fmt.Errorf("error normalizing url: %w", err) + return nil, nil, fmt.Errorf("error normalizing config url: %w", err) } kube, err := f.GetKubeService() @@ -131,7 +131,7 @@ func (f *defaultFactory) GetGitClients(ctx context.Context, gpClient gitprovider } // Do not add deploy key for helm repo, empty url or if its gonna be added below - if !params.IsHelmRepository || params.URL != "" || params.URL != params.ConfigRepo { + if !params.IsHelmRepository && params.URL != "" && params.URL != params.ConfigRepo { normalizedUrl, err := gitproviders.NewRepoURL(params.URL) if err != nil { return nil, nil, fmt.Errorf("error normalizing url: %w", err) From 1d7f7247f28647e7b72b86c454c9b08834b55f8c Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Mon, 24 Jan 2022 11:19:25 -0700 Subject: [PATCH 09/10] test fix --- pkg/services/factory_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/services/factory_test.go b/pkg/services/factory_test.go index 31c16117f92..14193db6efe 100644 --- a/pkg/services/factory_test.go +++ b/pkg/services/factory_test.go @@ -32,7 +32,7 @@ var _ = Describe("Services factory", func() { Expect(gitClient).To(BeNil()) Expect(gitProvider).To(BeNil()) - Expect(err.Error()).To(MatchRegexp("error normalizing url*.")) + Expect(err.Error()).To(MatchRegexp("error normalizing config url*.")) }) It("config type user repo and empty url return error", func() { @@ -43,7 +43,7 @@ var _ = Describe("Services factory", func() { Expect(gitClient).To(BeNil()) Expect(gitProvider).To(BeNil()) - Expect(err.Error()).To(MatchRegexp("error normalizing url*.")) + Expect(err.Error()).To(MatchRegexp("error config normalizing url*.")) }) }) }) From 41603b1df0bea4b54cf57288d3c196ca4224610a Mon Sep 17 00:00:00 2001 From: Justin Thompson Date: Mon, 24 Jan 2022 11:19:40 -0700 Subject: [PATCH 10/10] real fix --- pkg/services/factory_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/services/factory_test.go b/pkg/services/factory_test.go index 14193db6efe..e39bdd9bd1d 100644 --- a/pkg/services/factory_test.go +++ b/pkg/services/factory_test.go @@ -43,7 +43,7 @@ var _ = Describe("Services factory", func() { Expect(gitClient).To(BeNil()) Expect(gitProvider).To(BeNil()) - Expect(err.Error()).To(MatchRegexp("error config normalizing url*.")) + Expect(err.Error()).To(MatchRegexp("error normalizing config url*.")) }) }) })