Only listing chart repositories when chart server is enabled

Only listing chart repositories when chart server is enabled

Signed-off-by: Wenkai Yin <yinw@vmware.com>
This commit is contained in:
Wenkai Yin 2019-07-26 17:44:01 +08:00
parent a31d12e01e
commit 9235dcff54
2 changed files with 35 additions and 25 deletions

View File

@ -77,6 +77,7 @@ func NewLauncher(projectMgr project.Manager, repositoryMgr repository.Manager,
retentionMgr: retentionMgr, retentionMgr: retentionMgr,
jobserviceClient: cjob.GlobalClient, jobserviceClient: cjob.GlobalClient,
internalCoreURL: config.InternalCoreURL(), internalCoreURL: config.InternalCoreURL(),
chartServerEnabled: config.WithChartMuseum(),
} }
} }
@ -86,6 +87,7 @@ type launcher struct {
repositoryMgr repository.Manager repositoryMgr repository.Manager
jobserviceClient cjob.Client jobserviceClient cjob.Client
internalCoreURL string internalCoreURL string
chartServerEnabled bool
} }
type jobData struct { type jobData struct {
@ -143,7 +145,7 @@ func (l *launcher) Launch(ply *policy.Metadata, executionID int64, isDryRun bool
var repositoryCandidates []*res.Candidate var repositoryCandidates []*res.Candidate
// get repositories of projects // get repositories of projects
for _, projectCandidate := range projectCandidates { for _, projectCandidate := range projectCandidates {
repositories, err := getRepositories(l.projectMgr, l.repositoryMgr, projectCandidate.NamespaceID) repositories, err := getRepositories(l.projectMgr, l.repositoryMgr, projectCandidate.NamespaceID, l.chartServerEnabled)
if err != nil { if err != nil {
return 0, launcherError(err) return 0, launcherError(err)
} }
@ -278,7 +280,8 @@ func getProjects(projectMgr project.Manager) ([]*res.Candidate, error) {
return candidates, nil return candidates, nil
} }
func getRepositories(projectMgr project.Manager, repositoryMgr repository.Manager, projectID int64) ([]*res.Candidate, error) { func getRepositories(projectMgr project.Manager, repositoryMgr repository.Manager,
projectID int64, chartServerEnabled bool) ([]*res.Candidate, error) {
var candidates []*res.Candidate var candidates []*res.Candidate
pro, err := projectMgr.Get(projectID) pro, err := projectMgr.Get(projectID)
if err != nil { if err != nil {
@ -297,8 +300,12 @@ func getRepositories(projectMgr project.Manager, repositoryMgr repository.Manage
Kind: "image", Kind: "image",
}) })
} }
// get chart repositories if chartServerEnabled {
// get chart repositories when chart server is enabled
chartRepositories, err := repositoryMgr.ListChartRepositories(projectID) chartRepositories, err := repositoryMgr.ListChartRepositories(projectID)
if err != nil {
return nil, err
}
for _, r := range chartRepositories { for _, r := range chartRepositories {
candidates = append(candidates, &res.Candidate{ candidates = append(candidates, &res.Candidate{
Namespace: pro.Name, Namespace: pro.Name,
@ -306,5 +313,7 @@ func getRepositories(projectMgr project.Manager, repositoryMgr repository.Manage
Kind: "chart", Kind: "chart",
}) })
} }
}
return candidates, nil return candidates, nil
} }

View File

@ -169,7 +169,7 @@ func (l *launchTestSuite) TestGetProjects() {
} }
func (l *launchTestSuite) TestGetRepositories() { func (l *launchTestSuite) TestGetRepositories() {
repositories, err := getRepositories(l.projectMgr, l.repositoryMgr, 1) repositories, err := getRepositories(l.projectMgr, l.repositoryMgr, 1, true)
require.Nil(l.T(), err) require.Nil(l.T(), err)
assert.Equal(l.T(), 2, len(repositories)) assert.Equal(l.T(), 2, len(repositories))
assert.Equal(l.T(), "library", repositories[0].Namespace) assert.Equal(l.T(), "library", repositories[0].Namespace)
@ -186,6 +186,7 @@ func (l *launchTestSuite) TestLaunch() {
repositoryMgr: l.repositoryMgr, repositoryMgr: l.repositoryMgr,
retentionMgr: l.retentionMgr, retentionMgr: l.retentionMgr,
jobserviceClient: l.jobserviceClient, jobserviceClient: l.jobserviceClient,
chartServerEnabled: true,
} }
var ply *policy.Metadata var ply *policy.Metadata