diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 5ed78ff1be3..da8aa2932e6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -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}'` diff --git a/src/pkg/scan/sbom/sbom.go b/src/pkg/scan/sbom/sbom.go index 8aaf5da3378..b58057f9e32 100644 --- a/src/pkg/scan/sbom/sbom.go +++ b/src/pkg/scan/sbom/sbom.go @@ -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{} diff --git a/src/pkg/scan/sbom/sbom_test.go b/src/pkg/scan/sbom/sbom_test.go index 04a3c2ece5c..753ff97d933 100644 --- a/src/pkg/scan/sbom/sbom_test.go +++ b/src/pkg/scan/sbom/sbom_test.go @@ -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 },