mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-25 19:56:09 +01:00
add type for scanner metadata (#20108)
Signed-off-by: wang yan <wangyan@vmware.com>
This commit is contained in:
parent
fa01cc5e48
commit
2eb5464603
@ -8450,6 +8450,12 @@ definitions:
|
|||||||
ScannerCapability:
|
ScannerCapability:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Specify the type of scanner capability, like vulnerability or sbom
|
||||||
|
x-omitempty: false
|
||||||
|
example: "sbom"
|
||||||
consumes_mime_types:
|
consumes_mime_types:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
@ -58,6 +58,7 @@ func (suite *ClientTestSuite) TestClientMetadata() {
|
|||||||
require.NotNil(suite.T(), m)
|
require.NotNil(suite.T(), m)
|
||||||
|
|
||||||
assert.Equal(suite.T(), m.Scanner.Name, "Trivy")
|
assert.Equal(suite.T(), m.Scanner.Name, "Trivy")
|
||||||
|
assert.Equal(suite.T(), m.Capabilities[0].Type, "sbom")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestClientSubmitScan tests the scan submission of client
|
// TestClientSubmitScan tests the scan submission of client
|
||||||
@ -119,6 +120,7 @@ func (mh *mockHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
Version: "0.1.0",
|
Version: "0.1.0",
|
||||||
},
|
},
|
||||||
Capabilities: []*ScannerCapability{{
|
Capabilities: []*ScannerCapability{{
|
||||||
|
Type: "sbom",
|
||||||
ConsumesMimeTypes: []string{
|
ConsumesMimeTypes: []string{
|
||||||
MimeTypeOCIArtifact,
|
MimeTypeOCIArtifact,
|
||||||
MimeTypeDockerArtifact,
|
MimeTypeDockerArtifact,
|
||||||
|
@ -37,6 +37,7 @@ type Scanner struct {
|
|||||||
// report MIME types. For example, a scanner capable of analyzing Docker images and producing
|
// report MIME types. For example, a scanner capable of analyzing Docker images and producing
|
||||||
// a vulnerabilities report recognizable by Harbor web console might be represented with the
|
// a vulnerabilities report recognizable by Harbor web console might be represented with the
|
||||||
// following capability:
|
// following capability:
|
||||||
|
// - type: vulnerability
|
||||||
// - consumes MIME types:
|
// - consumes MIME types:
|
||||||
// -- application/vnd.oci.image.manifest.v1+json
|
// -- application/vnd.oci.image.manifest.v1+json
|
||||||
// -- application/vnd.docker.distribution.manifest.v2+json
|
// -- application/vnd.docker.distribution.manifest.v2+json
|
||||||
@ -44,6 +45,8 @@ type Scanner struct {
|
|||||||
// -- application/vnd.scanner.adapter.vuln.report.harbor+json; version=1.0
|
// -- application/vnd.scanner.adapter.vuln.report.harbor+json; version=1.0
|
||||||
// -- application/vnd.scanner.adapter.vuln.report.raw
|
// -- application/vnd.scanner.adapter.vuln.report.raw
|
||||||
type ScannerCapability struct {
|
type ScannerCapability struct {
|
||||||
|
// The type of the scanner capability, vulnerability or sbom
|
||||||
|
Type string `json:"type"`
|
||||||
// The set of MIME types of the artifacts supported by the scanner to produce the reports
|
// The set of MIME types of the artifacts supported by the scanner to produce the reports
|
||||||
// specified in the "produces_mime_types". A given mime type should only be present in one
|
// specified in the "produces_mime_types". A given mime type should only be present in one
|
||||||
// capability item.
|
// capability item.
|
||||||
|
@ -74,6 +74,7 @@ func (s *ScannerMetadata) ToSwagger(_ context.Context) *models.ScannerAdapterMet
|
|||||||
var capabilities []*models.ScannerCapability
|
var capabilities []*models.ScannerCapability
|
||||||
for _, c := range s.Capabilities {
|
for _, c := range s.Capabilities {
|
||||||
capabilities = append(capabilities, &models.ScannerCapability{
|
capabilities = append(capabilities, &models.ScannerCapability{
|
||||||
|
Type: c.Type,
|
||||||
ConsumesMimeTypes: c.ConsumesMimeTypes,
|
ConsumesMimeTypes: c.ConsumesMimeTypes,
|
||||||
ProducesMimeTypes: c.ProducesMimeTypes,
|
ProducesMimeTypes: c.ProducesMimeTypes,
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user