mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-25 03:35:21 +01:00
Use internal registry url to push artifact accessory (#20575)
fixes #20565 Signed-off-by: stonezdj <stone.zhang@broadcom.com>
This commit is contained in:
parent
6a38ed3d77
commit
e960711579
12
.github/workflows/CI.yml
vendored
12
.github/workflows/CI.yml
vendored
@ -5,7 +5,7 @@ env:
|
||||
POSTGRESQL_USR: postgres
|
||||
POSTGRESQL_PWD: root123
|
||||
POSTGRESQL_DATABASE: registry
|
||||
DOCKER_COMPOSE_VERSION: 1.23.0
|
||||
DOCKER_COMPOSE_VERSION: 2.27.1
|
||||
HARBOR_ADMIN: admin
|
||||
HARBOR_ADMIN_PASSWD: Harbor12345
|
||||
CORE_SECRET: tempString
|
||||
@ -66,7 +66,7 @@ jobs:
|
||||
env
|
||||
#sudo apt install -y xvfb
|
||||
#xvfb-run ls
|
||||
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
curl -L https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
chmod +x docker-compose
|
||||
sudo mv docker-compose /usr/local/bin
|
||||
IP=`hostname -I | awk '{print $1}'`
|
||||
@ -131,7 +131,7 @@ jobs:
|
||||
df -h
|
||||
#sudo apt install -y xvfb
|
||||
#xvfb-run ls
|
||||
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
curl -L https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
chmod +x docker-compose
|
||||
sudo mv docker-compose /usr/local/bin
|
||||
- name: install
|
||||
@ -186,7 +186,7 @@ jobs:
|
||||
df -h
|
||||
#sudo apt install -y xvfb
|
||||
#xvfb-run ls
|
||||
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
curl -L https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
chmod +x docker-compose
|
||||
sudo mv docker-compose /usr/local/bin
|
||||
- name: install
|
||||
@ -240,7 +240,7 @@ jobs:
|
||||
df -h
|
||||
#sudo apt install -y xvfb
|
||||
#xvfb-run ls
|
||||
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
curl -L https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
chmod +x docker-compose
|
||||
sudo mv docker-compose /usr/local/bin
|
||||
- name: install
|
||||
@ -292,7 +292,7 @@ jobs:
|
||||
df -h
|
||||
#sudo apt install -y xvfb
|
||||
#xvfb-run ls
|
||||
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
curl -L https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
chmod +x docker-compose
|
||||
sudo mv docker-compose /usr/local/bin
|
||||
IP=`hostname -I | awk '{print $1}'`
|
||||
|
@ -22,13 +22,11 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/goharbor/harbor/src/common"
|
||||
"github.com/goharbor/harbor/src/common/rbac"
|
||||
"github.com/goharbor/harbor/src/controller/artifact"
|
||||
scanCtl "github.com/goharbor/harbor/src/controller/scan"
|
||||
"github.com/goharbor/harbor/src/jobservice/job"
|
||||
"github.com/goharbor/harbor/src/jobservice/logger"
|
||||
"github.com/goharbor/harbor/src/lib/config"
|
||||
"github.com/goharbor/harbor/src/lib/errors"
|
||||
"github.com/goharbor/harbor/src/lib/log"
|
||||
"github.com/goharbor/harbor/src/lib/orm"
|
||||
@ -54,7 +52,6 @@ const (
|
||||
func init() {
|
||||
scan.RegisterScanHanlder(v1.ScanTypeSbom, &scanHandler{
|
||||
GenAccessoryFunc: scan.GenAccessoryArt,
|
||||
RegistryServer: registry,
|
||||
SBOMMgrFunc: func() Manager { return Mgr },
|
||||
TaskMgrFunc: func() task.Manager { return task.Mgr },
|
||||
ArtifactControllerFunc: func() artifact.Controller { return artifact.Ctl },
|
||||
@ -67,7 +64,6 @@ func init() {
|
||||
// scanHandler defines the Handler to generate sbom
|
||||
type scanHandler struct {
|
||||
GenAccessoryFunc func(scanRep v1.ScanRequest, sbomContent []byte, labels map[string]string, mediaType string, robot *model.Robot) (string, error)
|
||||
RegistryServer func(ctx context.Context) (string, bool)
|
||||
SBOMMgrFunc func() Manager
|
||||
TaskMgrFunc func() task.Manager
|
||||
ArtifactControllerFunc func() artifact.Controller
|
||||
@ -96,8 +92,10 @@ func (h *scanHandler) PostScan(ctx job.Context, sr *v1.ScanRequest, _ *scanModel
|
||||
Registry: sr.Registry,
|
||||
Artifact: sr.Artifact,
|
||||
}
|
||||
// the registry server url is core by default, need to replace it with real registry server url
|
||||
scanReq.Registry.URL, scanReq.Registry.Insecure = h.RegistryServer(ctx.SystemContext())
|
||||
scanReq.Registry.Insecure = strings.HasPrefix(scanReq.Registry.URL, "http://")
|
||||
// the registry URL should not contain http:// or https:// prefix
|
||||
scanReq.Registry.URL = strings.TrimPrefix(scanReq.Registry.URL, "http://")
|
||||
scanReq.Registry.URL = strings.TrimPrefix(scanReq.Registry.URL, "https://")
|
||||
if len(scanReq.Registry.URL) == 0 {
|
||||
return "", fmt.Errorf("empty registry server")
|
||||
}
|
||||
@ -170,19 +168,6 @@ func (h *scanHandler) Update(ctx context.Context, uuid string, report string) er
|
||||
return nil
|
||||
}
|
||||
|
||||
// extract server name from config, and remove the protocol prefix
|
||||
func registry(ctx context.Context) (string, bool) {
|
||||
cfgMgr, ok := config.FromContext(ctx)
|
||||
if ok {
|
||||
extURL := cfgMgr.Get(context.Background(), common.ExtEndpoint).GetString()
|
||||
insecure := strings.HasPrefix(extURL, "http://")
|
||||
server := strings.TrimPrefix(extURL, "https://")
|
||||
server = strings.TrimPrefix(server, "http://")
|
||||
return server, insecure
|
||||
}
|
||||
return "", false
|
||||
}
|
||||
|
||||
// retrieveSBOMContent retrieves the "sbom" field from the raw report
|
||||
func retrieveSBOMContent(rawReport string) ([]byte, *v1.Scanner, error) {
|
||||
rpt := sbom.RawSBOMReport{}
|
||||
|
@ -147,7 +147,6 @@ func (suite *SBOMTestSuite) SetupSuite() {
|
||||
|
||||
suite.handler = &scanHandler{
|
||||
GenAccessoryFunc: mockGenAccessory,
|
||||
RegistryServer: mockGetRegistry,
|
||||
SBOMMgrFunc: func() Manager { return suite.sbomManager },
|
||||
TaskMgrFunc: func() task.Manager { return suite.taskMgr },
|
||||
ArtifactControllerFunc: func() artifact.Controller { return suite.artifactCtl },
|
||||
|
Loading…
Reference in New Issue
Block a user