mirror of
https://github.com/goharbor/harbor.git
synced 2025-02-08 07:51:25 +01:00
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:
parent
a31d12e01e
commit
9235dcff54
@ -72,20 +72,22 @@ type Launcher interface {
|
|||||||
func NewLauncher(projectMgr project.Manager, repositoryMgr repository.Manager,
|
func NewLauncher(projectMgr project.Manager, repositoryMgr repository.Manager,
|
||||||
retentionMgr Manager) Launcher {
|
retentionMgr Manager) Launcher {
|
||||||
return &launcher{
|
return &launcher{
|
||||||
projectMgr: projectMgr,
|
projectMgr: projectMgr,
|
||||||
repositoryMgr: repositoryMgr,
|
repositoryMgr: repositoryMgr,
|
||||||
retentionMgr: retentionMgr,
|
retentionMgr: retentionMgr,
|
||||||
jobserviceClient: cjob.GlobalClient,
|
jobserviceClient: cjob.GlobalClient,
|
||||||
internalCoreURL: config.InternalCoreURL(),
|
internalCoreURL: config.InternalCoreURL(),
|
||||||
|
chartServerEnabled: config.WithChartMuseum(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type launcher struct {
|
type launcher struct {
|
||||||
retentionMgr Manager
|
retentionMgr Manager
|
||||||
projectMgr project.Manager
|
projectMgr project.Manager
|
||||||
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,14 +300,20 @@ func getRepositories(projectMgr project.Manager, repositoryMgr repository.Manage
|
|||||||
Kind: "image",
|
Kind: "image",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// get chart repositories
|
if chartServerEnabled {
|
||||||
chartRepositories, err := repositoryMgr.ListChartRepositories(projectID)
|
// get chart repositories when chart server is enabled
|
||||||
for _, r := range chartRepositories {
|
chartRepositories, err := repositoryMgr.ListChartRepositories(projectID)
|
||||||
candidates = append(candidates, &res.Candidate{
|
if err != nil {
|
||||||
Namespace: pro.Name,
|
return nil, err
|
||||||
Repository: r.Name,
|
}
|
||||||
Kind: "chart",
|
for _, r := range chartRepositories {
|
||||||
})
|
candidates = append(candidates, &res.Candidate{
|
||||||
|
Namespace: pro.Name,
|
||||||
|
Repository: r.Name,
|
||||||
|
Kind: "chart",
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return candidates, nil
|
return candidates, nil
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
@ -182,10 +182,11 @@ func (l *launchTestSuite) TestGetRepositories() {
|
|||||||
|
|
||||||
func (l *launchTestSuite) TestLaunch() {
|
func (l *launchTestSuite) TestLaunch() {
|
||||||
launcher := &launcher{
|
launcher := &launcher{
|
||||||
projectMgr: l.projectMgr,
|
projectMgr: l.projectMgr,
|
||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user