mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-24 01:27:49 +01:00
Populate public metadata into the event
Fixes #9455. Populate the public metadata into the event when doing the replication based on event Signed-off-by: Wenkai Yin <yinw@vmware.com>
This commit is contained in:
parent
5c5e475da4
commit
db7025a504
@ -10,7 +10,10 @@ import (
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"path"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/goharbor/harbor/src/chartserver"
|
||||
"github.com/goharbor/harbor/src/common"
|
||||
@ -18,14 +21,10 @@ import (
|
||||
hlog "github.com/goharbor/harbor/src/common/utils/log"
|
||||
"github.com/goharbor/harbor/src/core/config"
|
||||
"github.com/goharbor/harbor/src/core/label"
|
||||
|
||||
"github.com/goharbor/harbor/src/core/middlewares"
|
||||
n_event "github.com/goharbor/harbor/src/core/notifier/event"
|
||||
rep_event "github.com/goharbor/harbor/src/replication/event"
|
||||
"github.com/goharbor/harbor/src/replication/model"
|
||||
"path"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -489,6 +488,12 @@ func (cra *ChartRepositoryAPI) addEventContext(files []formFile, request *http.R
|
||||
extInfo["operator"] = cra.SecurityCtx.GetUsername()
|
||||
extInfo["projectName"] = cra.namespace
|
||||
extInfo["chartName"] = chartDetails.Metadata.Name
|
||||
|
||||
public, err := cra.ProjectMgr.IsPublic(cra.namespace)
|
||||
if err != nil {
|
||||
hlog.Errorf("failed to check the public of project %s: %v", cra.namespace, err)
|
||||
public = false
|
||||
}
|
||||
e := &rep_event.Event{
|
||||
Type: rep_event.EventTypeChartUpload,
|
||||
Resource: &model.Resource{
|
||||
@ -496,6 +501,9 @@ func (cra *ChartRepositoryAPI) addEventContext(files []formFile, request *http.R
|
||||
Metadata: &model.ResourceMetadata{
|
||||
Repository: &model.Repository{
|
||||
Name: fmt.Sprintf("%s/%s", cra.namespace, chartDetails.Metadata.Name),
|
||||
Metadata: map[string]interface{}{
|
||||
"public": strconv.FormatBool(public),
|
||||
},
|
||||
},
|
||||
Vtags: []string{chartDetails.Metadata.Version},
|
||||
},
|
||||
|
@ -17,6 +17,7 @@ package registry
|
||||
import (
|
||||
"encoding/json"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@ -140,7 +141,6 @@ func (n *NotificationHandler) Post() {
|
||||
log.Errorf("failed to build image push event metadata: %v", err)
|
||||
}
|
||||
|
||||
// TODO: handle image delete event and chart event
|
||||
go func() {
|
||||
e := &rep_event.Event{
|
||||
Type: rep_event.EventTypeImagePush,
|
||||
@ -149,7 +149,9 @@ func (n *NotificationHandler) Post() {
|
||||
Metadata: &model.ResourceMetadata{
|
||||
Repository: &model.Repository{
|
||||
Name: repository,
|
||||
// TODO filling the metadata
|
||||
Metadata: map[string]interface{}{
|
||||
"public": strconv.FormatBool(pro.IsPublic()),
|
||||
},
|
||||
},
|
||||
Vtags: []string{tag},
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user