2020-01-14 03:20:18 +01:00
swagger : '2.0'
info :
title : Harbor API
description : These APIs provide services for manipulating Harbor project.
version : '2.0'
host : localhost
schemes :
- http
- https
basePath : /api/v2.0
produces :
- application/json
2020-03-12 12:30:12 +01:00
- text/plain
2020-01-14 03:20:18 +01:00
consumes :
- application/json
securityDefinitions :
basicAuth :
type : basic
paths :
2020-02-18 08:51:38 +01:00
/projects/{project_name}/repositories:
get :
summary : List repositories
description : List repositories of the specified project
tags :
- repository
operationId : listRepositories
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
2020-03-09 15:19:42 +01:00
- $ref : '#/parameters/query'
2020-02-18 08:51:38 +01:00
- $ref : '#/parameters/page'
- $ref : '#/parameters/pageSize'
responses :
'200' :
description : Success
headers :
X-Total-Count :
description : The total count of repositories
type : integer
Link :
description : Link refers to the previous page and next page
type : string
schema :
type : array
items :
$ref : '#/definitions/Repository'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-03-20 10:08:08 +01:00
# the _self suffix here is used to avoid the conflict of repository name and URL path
# e.g. the repository name can be "library/artifacts", we cannot distinguish the URL
# "GET /projects/{project_name}/repositories/library/artifacts" is getting repository
# or listing artifacts
/projects/{project_name}/repositories/{repository_name}/_self:
2020-02-25 05:02:50 +01:00
get :
summary : Get repository
description : Get the repository specified by name
tags :
- repository
operationId : getRepository
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
responses :
'200' :
description : Success
schema :
$ref : '#/definitions/Repository'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-02-18 08:51:38 +01:00
put :
summary : Update repository
description : Update the repository specified by name
tags :
- repository
operationId : updateRepository
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- name : repository
in : body
description : The JSON object of repository.
required : true
schema :
$ref : '#/definitions/Repository'
responses :
'200' :
$ref : '#/responses/200'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
delete :
summary : Delete repository
description : Delete the repository specified by name
tags :
- repository
operationId : deleteRepository
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
responses :
'200' :
$ref : '#/responses/200'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-01-26 05:52:51 +01:00
/projects/{project_name}/repositories/{repository_name}/artifacts:
2020-01-14 03:20:18 +01:00
get :
2020-01-26 05:52:51 +01:00
summary : List artifacts
2020-03-18 11:02:17 +01:00
description : List artifacts under the specific project and repository. Except the basic properties, the other supported queries in "q" includes "tags=*" to list only tagged artifacts, "tags=nil" to list only untagged artifacts, "tags=~v" to list artifacts whose tag fuzzy matches "v", "labels=(id1, id2)" to list artifacts that both labels with id1 and id2 are added to
2020-01-14 03:20:18 +01:00
tags :
- artifact
2020-01-26 05:52:51 +01:00
operationId : listArtifacts
2020-01-14 03:20:18 +01:00
parameters :
- $ref : '#/parameters/requestId'
2020-01-16 01:04:22 +01:00
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
2020-03-09 15:19:42 +01:00
- $ref : '#/parameters/query'
2020-01-26 05:52:51 +01:00
- $ref : '#/parameters/page'
- $ref : '#/parameters/pageSize'
2020-01-16 01:04:22 +01:00
- name : with_tag
in : query
2020-02-22 06:29:58 +01:00
description : Specify whether the tags are included inside the returning artifacts
2020-01-16 01:04:22 +01:00
type : boolean
required : false
default : true
- name : with_label
in : query
2020-02-22 06:29:58 +01:00
description : Specify whether the labels are included inside the returning artifacts
2020-01-16 01:04:22 +01:00
type : boolean
required : false
default : false
- name : with_scan_overview
in : query
2020-02-22 06:29:58 +01:00
description : Specify whether the scan overview is included inside the returning artifacts
2020-01-16 01:04:22 +01:00
type : boolean
required : false
default : false
2020-01-26 05:52:51 +01:00
- name : with_signature
2020-01-16 01:04:22 +01:00
in : query
2020-02-22 06:29:58 +01:00
description : Specify whether the signature is included inside the tags of the returning artifacts. Only works when setting "with_tag=true"
2020-01-16 01:04:22 +01:00
type : boolean
required : false
default : false
- name : with_immutable_status
in : query
2020-02-22 06:29:58 +01:00
description : Specify whether the immutable status is included inside the tags of the returning artifacts. Only works when setting "with_tag=true"
2020-01-16 01:04:22 +01:00
type : boolean
required : false
default : false
2020-01-14 03:20:18 +01:00
responses :
'200' :
2020-01-16 01:04:22 +01:00
description : Success
2020-01-26 05:52:51 +01:00
headers :
X-Total-Count :
description : The total count of artifacts
type : integer
Link :
description : Link refers to the previous page and next page
type : string
2020-01-14 03:20:18 +01:00
schema :
2020-01-26 05:52:51 +01:00
type : array
items :
$ref : '#/definitions/Artifact'
'400' :
$ref : '#/responses/400'
2020-01-14 03:20:18 +01:00
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
2020-01-26 05:52:51 +01:00
'404' :
$ref : '#/responses/404'
2020-01-14 03:20:18 +01:00
'500' :
$ref : '#/responses/500'
2020-02-13 09:04:47 +01:00
post :
summary : Copy artifact
description : Copy the artifact specified in the "from" parameter to the repository.
tags :
- artifact
operationId : CopyArtifact
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- name : from
in : query
description : The artifact from which the new artifact is copied from, the format should be "project/repository:tag" or "project/repository@digest".
type : string
required : true
responses :
'201' :
$ref : '#/responses/201'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'409' :
$ref : '#/responses/409'
'500' :
$ref : '#/responses/500'
2020-01-26 05:52:51 +01:00
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}:
2020-01-14 03:20:18 +01:00
get :
2020-01-26 05:52:51 +01:00
summary : Get the specific artifact
description : Get the artifact specified by the reference under the project and repository. The reference can be digest or tag.
2020-01-14 03:20:18 +01:00
tags :
- artifact
2020-01-26 05:52:51 +01:00
operationId : getArtifact
2020-01-14 03:20:18 +01:00
parameters :
- $ref : '#/parameters/requestId'
2020-01-16 01:04:22 +01:00
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
2020-01-26 05:52:51 +01:00
- $ref : '#/parameters/reference'
2020-01-25 08:26:44 +01:00
- $ref : '#/parameters/page'
- $ref : '#/parameters/pageSize'
2020-01-16 01:04:22 +01:00
- name : with_tag
in : query
description : Specify whether the tags are inclued inside the returning artifacts
type : boolean
required : false
default : true
- name : with_label
in : query
description : Specify whether the labels are inclued inside the returning artifacts
2020-01-14 03:20:18 +01:00
type : boolean
required : false
default : false
2020-01-16 01:04:22 +01:00
- name : with_scan_overview
2020-01-14 03:20:18 +01:00
in : query
2020-01-16 01:04:22 +01:00
description : Specify whether the scan overview is inclued inside the returning artifacts
2020-01-14 03:20:18 +01:00
type : boolean
required : false
default : false
2020-01-16 01:04:22 +01:00
# should be in tag level
2020-01-26 05:52:51 +01:00
- name : with_signature
2020-01-14 03:20:18 +01:00
in : query
2020-01-16 01:04:22 +01:00
description : Specify whether the signature is inclued inside the returning artifacts
2020-01-14 03:20:18 +01:00
type : boolean
required : false
default : false
2020-01-16 01:04:22 +01:00
- name : with_immutable_status
in : query
description : Specify whether the immutable status is inclued inside the tags of the returning artifacts. Only works when setting "with_tag=true"
type : boolean
required : false
default : false
2020-01-14 03:20:18 +01:00
responses :
'200' :
2020-01-16 01:04:22 +01:00
description : Success
2020-01-14 03:20:18 +01:00
schema :
2020-01-26 05:52:51 +01:00
$ref : '#/definitions/Artifact'
'400' :
$ref : '#/responses/400'
2020-01-14 03:20:18 +01:00
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
2020-01-26 05:52:51 +01:00
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
delete :
summary : Delete the specific artifact
description : Delete the artifact specified by the reference under the project and repository. The reference can be digest or tag
tags :
- artifact
operationId : deleteArtifact
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
responses :
'200' :
$ref : '#/responses/200'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-02-25 07:01:29 +01:00
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan:
post :
summary : Scan the artifact
description : Scan the specified artifact
tags :
2020-03-12 12:30:12 +01:00
- scan
2020-02-25 07:01:29 +01:00
operationId : scanArtifact
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
responses :
'202' :
$ref : '#/responses/202'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-03-12 12:30:12 +01:00
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/{report_id}/log:
get :
summary : Get the log of the scan report
description : Get the log of the scan report
tags :
- scan
operationId : getReportLog
produces :
- text/plain
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
- name : report_id
type : string
in : path
required : true
description : The report id to get the log
responses :
'200' :
description : Successfully get scan log file
schema :
type : string
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-01-26 05:52:51 +01:00
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags:
post :
summary : Create tag
description : Create a tag for the specified artifact
tags :
- artifact
operationId : createTag
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
- name : tag
in : body
description : The JSON object of tag.
required : true
schema :
$ref : '#/definitions/Tag'
responses :
'201' :
$ref : '#/responses/201'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'409' :
$ref : '#/responses/409'
'500' :
$ref : '#/responses/500'
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags/{tag_name}:
delete :
summary : Delete tag
description : Delete the tag of the specified artifact
tags :
- artifact
operationId : deleteTag
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
- $ref : '#/parameters/tagName'
responses :
'200' :
$ref : '#/responses/200'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
2020-01-14 03:20:18 +01:00
'500' :
$ref : '#/responses/500'
2020-01-29 04:34:55 +01:00
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/{addition}:
get :
summary : Get the addition of the specific artifact
description : Get the addition of the artifact specified by the reference under the project and repository.
tags :
- artifact
operationId : getAddition
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
- name : addition
in : path
2020-01-27 13:32:14 +01:00
description : The type of addition.
2020-01-29 04:34:55 +01:00
type : string
2020-02-22 06:29:58 +01:00
enum : [ build_history, values.yaml, readme.md, dependencies, vulnerabilities]
2020-01-29 04:34:55 +01:00
required : true
responses :
'200' :
2020-03-16 03:13:28 +01:00
description : Success
headers :
Content-Type :
description : The content type of the addition
type : string
schema :
type : string
2020-01-27 13:32:14 +01:00
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels:
post :
summary : Add label to artifact
description : Add label to the specified artiact.
tags :
- artifact
operationId : addLabel
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
- name : label
in : body
description : The label that added to the artifact. Only the ID property is needed.
required : true
2020-01-29 04:34:55 +01:00
schema :
2020-01-27 13:32:14 +01:00
$ref : '#/definitions/Label'
responses :
'200' :
$ref : '#/responses/200'
2020-01-29 04:34:55 +01:00
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
2020-01-27 13:32:14 +01:00
'409' :
$ref : '#/responses/409'
'500' :
$ref : '#/responses/500'
/projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels/{label_id}:
delete :
summary : Remove label from artifact
description : Remove the label from the specified artiact.
tags :
- artifact
operationId : removeLabel
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/reference'
- name : label_id
in : path
description : The ID of the label that removed from the artifact.
type : integer
format : int64
required : true
responses :
'200' :
$ref : '#/responses/200'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'409' :
$ref : '#/responses/409'
2020-01-29 04:34:55 +01:00
'500' :
$ref : '#/responses/500'
2020-03-29 06:19:54 +02:00
/projects/{project_name}/repositories/{repository_name}/tags:
get :
summary : List tags
description : List tags under the specific project and repository.
tags :
- tag
operationId : listTags
parameters :
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/repositoryName'
- $ref : '#/parameters/query'
- $ref : '#/parameters/page'
- $ref : '#/parameters/pageSize'
- name : with_signature
in : query
description : Specify whether the signature is included inside the returning tags
type : boolean
required : false
default : false
- name : with_immutable_status
in : query
description : Specify whether the immutable status is included inside the returning tags
type : boolean
required : false
default : false
responses :
'200' :
description : Success
headers :
X-Total-Count :
description : The total count of tags
type : integer
Link :
description : Link refers to the previous page and next page
type : string
schema :
type : array
items :
$ref : '#/definitions/Tag'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'403' :
$ref : '#/responses/403'
'404' :
$ref : '#/responses/404'
'500' :
$ref : '#/responses/500'
2020-03-04 03:45:17 +01:00
/audit-logs :
get :
summary : Get recent logs of the projects which the user is a member of
description : |
This endpoint let user see the recent operation logs of the projects which he is member of
tags :
- auditlog
operationId : listAuditLogs
parameters :
- $ref : '#/parameters/requestId'
2020-03-18 06:46:49 +01:00
- $ref : '#/parameters/query'
2020-03-04 03:45:17 +01:00
- $ref : '#/parameters/page'
- $ref : '#/parameters/pageSize'
responses :
'200' :
description : Success
headers :
X-Total-Count :
description : The total count of auditlogs
type : integer
Link :
description : Link refers to the previous page and next page
type : string
schema :
type : array
items :
$ref : '#/definitions/AuditLog'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'500' :
$ref : '#/responses/500'
2020-03-17 04:58:43 +01:00
/projects/{project_name}/logs:
get :
summary : Get recent logs of the projects
description : Get recent logs of the projects
tags :
- project
operationId : getLogs
parameters :
- $ref : '#/parameters/projectName'
- $ref : '#/parameters/requestId'
- $ref : '#/parameters/query'
- $ref : '#/parameters/page'
- $ref : '#/parameters/pageSize'
responses :
'200' :
description : Success
headers :
X-Total-Count :
description : The total count of auditlogs
type : integer
Link :
description : Link refers to the previous page and next page
type : string
schema :
type : array
items :
$ref : '#/definitions/AuditLog'
'400' :
$ref : '#/responses/400'
'401' :
$ref : '#/responses/401'
'500' :
$ref : '#/responses/500'
2020-01-14 03:20:18 +01:00
parameters :
2020-03-04 15:10:21 +01:00
query :
name : q
description : Query string to query resources. Supported query patterns are "exact match(k=v)", "fuzzy match(k=~v)", "range(k=[min~max])", "list with union releationship(k={v1 v2 v3})" and "list with intersetion relationship(k=(v1 v2 v3))". All of these query patterns should be put in the query string "q=xxx" and splitted by ",". e.g. q=k1=v1,k2=~v2,k3=[min~max]
in : query
type : string
required : false
2020-01-14 03:20:18 +01:00
requestId :
name : X-Request-Id
2020-01-16 01:04:22 +01:00
description : An unique ID for the request
2020-01-14 03:20:18 +01:00
in : header
type : string
required : false
minLength : 1
2020-01-16 01:04:22 +01:00
projectName :
name : project_name
2020-01-14 03:20:18 +01:00
in : path
2020-01-16 01:04:22 +01:00
description : The name of the project
2020-01-14 03:20:18 +01:00
required : true
2020-01-16 01:04:22 +01:00
type : string
2020-03-11 11:06:58 +01:00
projectId :
name : project_id
in : path
description : The ID of the project
required : true
type : string
2020-01-16 01:04:22 +01:00
repositoryName :
name : repository_name
2020-01-14 03:20:18 +01:00
in : path
2020-01-16 01:04:22 +01:00
description : The name of the repository
2020-01-14 03:20:18 +01:00
required : true
2020-01-16 01:04:22 +01:00
type : string
2020-01-26 05:52:51 +01:00
reference :
name : reference
in : path
description : The reference of the artifact, can be digest or tag
required : true
type : string
tagName :
name : tag_name
2020-01-14 03:20:18 +01:00
in : path
2020-01-26 05:52:51 +01:00
description : The name of the tag
2020-01-14 03:20:18 +01:00
required : true
2020-01-16 01:04:22 +01:00
type : string
2020-01-14 03:20:18 +01:00
page :
name : page
in : query
type : integer
2020-01-16 01:04:22 +01:00
format : int64
2020-01-14 03:20:18 +01:00
required : false
2020-01-16 01:04:22 +01:00
description : The page number
2020-01-14 03:20:18 +01:00
default : 1
pageSize :
name : page_size
in : query
type : integer
2020-01-16 01:04:22 +01:00
format : int64
2020-01-14 03:20:18 +01:00
required : false
2020-01-16 01:04:22 +01:00
description : The size of per page
2020-01-14 03:20:18 +01:00
default : 10
responses :
2020-01-26 05:52:51 +01:00
'200' :
description : Success
headers :
X-Request-Id :
description : The ID of the corresponding request for the response
type : string
'201' :
description : Created
headers :
X-Request-Id :
description : The ID of the corresponding request for the response
type : string
2020-02-27 08:04:43 +01:00
Location :
description : The location of the resource
type : string
2020-02-25 07:01:29 +01:00
'202' :
description : Accepted
headers :
X-Request-Id :
description : The ID of the corresponding request for the response
type : string
2020-01-26 05:52:51 +01:00
'400' :
description : Bad request
headers :
X-Request-Id :
description : The ID of the corresponding request for the response
type : string
schema :
2020-01-26 03:36:25 +01:00
$ref : '#/definitions/Errors'
2020-01-14 03:20:18 +01:00
'401' :
2020-01-16 01:04:22 +01:00
description : Unauthorized
2020-01-14 03:20:18 +01:00
headers :
X-Request-Id :
2020-01-16 01:04:22 +01:00
description : The ID of the corresponding request for the response
2020-01-14 03:20:18 +01:00
type : string
schema :
2020-01-26 03:36:25 +01:00
$ref : '#/definitions/Errors'
2020-01-14 03:20:18 +01:00
'403' :
2020-01-16 01:04:22 +01:00
description : Forbidden
2020-01-14 03:20:18 +01:00
headers :
X-Request-Id :
2020-01-16 01:04:22 +01:00
description : The ID of the corresponding request for the response
2020-01-14 03:20:18 +01:00
type : string
schema :
2020-01-26 03:36:25 +01:00
$ref : '#/definitions/Errors'
2020-01-26 05:52:51 +01:00
'404' :
description : Not found
headers :
X-Request-Id :
description : The ID of the corresponding request for the response
type : string
schema :
2020-01-26 03:36:25 +01:00
$ref : '#/definitions/Errors'
2020-01-26 05:52:51 +01:00
'409' :
description : Conflict
headers :
X-Request-Id :
description : The ID of the corresponding request for the response
type : string
schema :
2020-01-26 03:36:25 +01:00
$ref : '#/definitions/Errors'
2020-01-14 03:20:18 +01:00
'500' :
2020-01-16 01:04:22 +01:00
description : Internal server error
2020-01-14 03:20:18 +01:00
headers :
X-Request-Id :
2020-01-16 01:04:22 +01:00
description : The ID of the corresponding request for the response
2020-01-14 03:20:18 +01:00
type : string
schema :
2020-01-26 03:36:25 +01:00
$ref : '#/definitions/Errors'
2020-01-14 03:20:18 +01:00
definitions :
2020-01-26 03:36:25 +01:00
Errors :
description : The error array that describe the errors got during the handling of request
type : array
items :
$ref : '#/definitions/Error'
2020-01-14 03:20:18 +01:00
Error :
description : a model for all the error response coming from harbor
type : object
properties :
code :
type : string
description : The error code
message :
type : string
description : The error message
2020-02-18 08:51:38 +01:00
Repository :
type : object
properties :
id :
type : integer
format : int64
description : The ID of the repository
project_id :
type : integer
format : int64
description : The ID of the project that the repository belongs to
name :
type : string
description : The name of the repository
description :
type : string
description : The description of the repository
artifact_count :
type : integer
format : int64
description : The count of the artifacts inside the repository
pull_count :
type : integer
format : int64
description : The count that the artifact inside the repository pulled
creation_time :
type : string
format : date-time
description : The creation time of the repository
update_time :
type : string
format : date-time
description : The update time of the repository
2020-01-14 03:20:18 +01:00
Artifact :
type : object
properties :
id :
type : integer
format : int64
2020-01-16 01:04:22 +01:00
description : The ID of the artifact
2020-01-14 03:20:18 +01:00
type :
type : string
2020-01-16 01:04:22 +01:00
description : The type of the artifact, e.g. image, chart, etc
2020-01-14 03:20:18 +01:00
media_type :
type : string
2020-01-16 01:04:22 +01:00
description : The media type of the artifact
manifest_media_type :
type : string
description : The manifest media type of the artifact
project_id :
type : integer
format : int64
description : The ID of the project that the artifact belongs to
repository_id :
type : integer
format : int64
description : The ID of the repository that the artifact belongs to
2020-01-14 03:20:18 +01:00
digest :
type : string
description : The digest of the artifact
size :
2020-01-16 01:04:22 +01:00
type : integer
2020-01-14 03:20:18 +01:00
format : int64
description : The size of the artifact
2020-01-16 01:04:22 +01:00
push_time :
2020-01-14 03:20:18 +01:00
type : string
format : date-time
2020-01-16 01:04:22 +01:00
description : The push time of the artifact
pull_time :
type : string
format : date-time
description : The latest pull time of the artifact
extra_attrs :
$ref : '#/definitions/ExtraAttrs'
annotations :
$ref : '#/definitions/Annotations'
references :
type : array
items :
$ref : '#/definitions/Reference'
tags :
type : array
items :
$ref : '#/definitions/Tag'
2020-01-29 04:34:55 +01:00
addition_links :
$ref : '#/definitions/AdditionLinks'
2020-01-27 13:32:14 +01:00
labels :
type : array
items :
$ref : '#/definitions/Label'
2020-02-22 06:29:58 +01:00
scan_overview :
$ref : '#/definitions/ScanOverview'
description : The overview of the scan result.
2020-01-16 01:04:22 +01:00
Tag :
2020-01-14 03:20:18 +01:00
type : object
properties :
id :
type : integer
format : int64
2020-01-16 01:04:22 +01:00
description : The ID of the tag
repository_id :
type : integer
format : int64
description : The ID of the repository that the tag belongs to
artifact_id :
type : integer
format : int64
description : The ID of the artifact that the tag attached to
2020-01-14 03:20:18 +01:00
name :
type : string
2020-01-16 01:04:22 +01:00
description : The name of the tag
push_time :
type : string
format : date-time
description : The push time of the tag
pull_time :
type : string
format : date-time
description : The latest pull time of the tag
2020-02-04 10:34:56 +01:00
immutable :
type : boolean
2020-01-29 04:34:55 +01:00
x-omitempty : false
2020-02-04 10:34:56 +01:00
description : The immutable status of the tag
2020-02-17 18:42:56 +01:00
signed :
type : boolean
x-omitempty : false
description : The attribute indicates whether the tag is signed or not
2020-01-16 01:04:22 +01:00
ExtraAttrs :
type : object
additionalProperties :
type : object
Annotations :
type : object
additionalProperties :
type : string
2020-01-29 04:34:55 +01:00
AdditionLinks :
2020-01-16 01:04:22 +01:00
type : object
additionalProperties :
2020-01-29 04:34:55 +01:00
$ref : '#/definitions/AdditionLink'
AdditionLink :
2020-01-16 01:04:22 +01:00
type : object
properties :
href :
type : string
2020-01-29 04:34:55 +01:00
description : The link of the addition
2020-01-16 01:04:22 +01:00
absolute :
type : boolean
2020-01-29 04:34:55 +01:00
x-omitempty : false
2020-01-16 01:04:22 +01:00
description : Determine whether the link is an absolute URL or not
Reference :
type : object
properties :
parent_id :
type : integer
format : int64
description : The parent ID of the reference
child_id :
type : integer
format : int64
description : The child ID of the reference
2020-02-02 02:13:51 +01:00
child_digest :
type : string
description : The digest of the child artifact
2020-01-16 01:04:22 +01:00
platform :
$ref : '#/definitions/Platform'
2020-03-05 07:26:53 +01:00
annotations :
$ref : '#/definitions/Annotations'
urls :
type : array
description : The download URLs
items :
type : string
2020-01-16 01:04:22 +01:00
Platform :
type : object
properties :
architecture :
type : string
description : The architecture that the artifact applys to
os :
type : string
description : The OS that the artifact applys to
2020-02-14 04:41:34 +01:00
'''os.version''' :
2020-01-16 01:04:22 +01:00
type : string
description : The version of the OS that the artifact applys to
2020-02-14 04:41:34 +01:00
'''os.features''' :
2020-01-16 01:04:22 +01:00
type : array
description : The features of the OS that the artifact applys to
items :
type : string
variant :
type : string
description : The variant of the CPU
2020-01-27 13:32:14 +01:00
Label :
type : object
properties :
id :
type : integer
format : int64
description : The ID of the label
name :
type : string
description : The name the label
description :
type : string
description : The description the label
color :
type : string
description : The color the label
scope :
type : string
description : The scope the label
project_id :
type : integer
format : int64
description : The ID of project that the label belongs to
creation_time :
type : string
format : date-time
description : The creation time the label
update_time :
type : string
format : date-time
description : The update time of the label
2020-02-22 06:29:58 +01:00
ScanOverview :
type : object
description : 'The scan overview attached in the metadata of tag'
additionalProperties :
$ref : '#/definitions/NativeReportSummary'
NativeReportSummary :
type : object
description : 'The summary for the native report'
properties :
report_id :
type : string
description : 'id of the native scan report'
example : '5f62c830-f996-11e9-957f-0242c0a89008'
scan_status :
type : string
description : 'The status of the report generating process'
example : 'Success'
severity :
type : string
description : 'The overall severity'
example : 'High'
duration :
type : integer
format : int64
description : 'The seconds spent for generating the report'
example : 300
summary :
$ref : '#/definitions/VulnerabilitySummary'
start_time :
type : string
format : date-time
description : 'The start time of the scan process that generating report'
example : '2006-01-02T14:04:05'
end_time :
type : string
format : date-time
description : 'The end time of the scan process that generating report'
example : '2006-01-02T15:04:05'
2020-03-12 12:30:12 +01:00
complete_percent :
type : integer
description : 'The complete percent of the scanning which value is between 0 and 100'
example : 100
2020-02-22 06:29:58 +01:00
VulnerabilitySummary :
type : object
description : |
VulnerabilitySummary contains the total number of the foun d vulnerabilities number and numbers of each severity level.
properties :
total :
type : integer
format : int
description : 'The total number of the found vulnerabilities'
example : 500
fixable :
type : integer
format : int
description : 'The number of the fixable vulnerabilities'
example : 100
summary :
type : object
description : 'Numbers of the vulnerabilities with different severity'
additionalProperties :
type : integer
format : int
example : 10
example :
'Critical' : 5
'High' : 5
2020-03-04 03:45:17 +01:00
AuditLog :
type : object
properties :
id :
type : integer
description : The ID of the audit log entry.
username :
type : string
description : Username of the user in this log entry.
resource :
type : string
description : Name of the repository in this log entry.
resource_type :
type : string
description : Tag of the repository in this log entry.
operation :
type : string
description : The operation against the repository in this log entry.
op_time :
type : string
description : The time when this operation is triggered.