Issue #2721 Optimize helm repo querying (#2816)

This commit is contained in:
Alexander Matyushentsev 2019-12-05 11:13:08 -08:00 committed by Alex Collins
parent a5f22d3841
commit 89a5bc87b9
2 changed files with 12 additions and 6 deletions

View file

@ -7,6 +7,7 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
v1 "k8s.io/api/core/v1"
"k8s.io/utils/pointer"
"github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/util/settings"
@ -57,7 +58,7 @@ func (db *db) ListHelmRepositories(ctx context.Context) ([]*v1alpha1.Repository,
}
result[i] = repo
}
repos, err := db.ListRepositories(ctx)
repos, err := db.listRepositories(ctx, pointer.StringPtr("helm"))
if err != nil {
return nil, err
}

View file

@ -113,6 +113,10 @@ func (db *db) GetRepository(ctx context.Context, repoURL string) (*appsv1.Reposi
}
func (db *db) ListRepositories(ctx context.Context) ([]*appsv1.Repository, error) {
return db.listRepositories(ctx, nil)
}
func (db *db) listRepositories(ctx context.Context, repoType *string) ([]*appsv1.Repository, error) {
inRepos, err := db.settingsMgr.GetRepositories()
if err != nil {
return nil, err
@ -120,12 +124,13 @@ func (db *db) ListRepositories(ctx context.Context) ([]*appsv1.Repository, error
var repos []*appsv1.Repository
for _, inRepo := range inRepos {
r, err := db.GetRepository(ctx, inRepo.URL)
if err != nil {
return nil, err
if repoType == nil || *repoType == inRepo.Type {
r, err := db.GetRepository(ctx, inRepo.URL)
if err != nil {
return nil, err
}
repos = append(repos, r)
}
repos = append(repos, r)
}
return repos, nil
}