Harbor API | 通过api得到项目列表和镜像仓库

json在线解析:
https://www.json.cn/jsononline/

核心管理API提供了Harbor核心管理功能的编程接口,这些功能主要如下。
◎ 用户管理(“/users”和“/usergroups”): 覆盖用户和用户组相关的管理功能,包括用户和用户组的创建、修改、查找、删除等。
◎ 项目管理(“/projects”): 覆盖项目相关的管理功能,包括项目的创建、修改、查找、获取概要、删除和项目元信息的管理等。
◎ 仓库管理(“/projects/{project_name}/repositories”): 覆盖仓库相关的管理功能,包括仓库的修改、查找和删除等。
◎ Artifact 管理( “/projects/ { project_name } /repositories/{repository_name}/artifacts”): 覆盖Artifact相关的管理功能,包括Artifact查找、删除、添加;标签移除;附加属性获取;Tag管理等。
◎ 远程复制(“/replication”和“/registries”):覆盖远程复制相关的功能,包括仓库服务实例管理及远程复制策略的管理、执行等。
◎ 扫描(“/scanners”“/projects/{project_id}/scanner”和“/projects/{ project_name } /repositories/ { repository_name } /artifacts/{reference}/scan”等):覆盖扫描相关的功能,包括扫描器管理、触发扫描和查看扫描结果等。
◎ 垃圾回收(“/system/gc”):覆盖垃圾回收相关的功能,包括触发垃圾回收和查看执行结果等。
◎ 项目配额(“/quotas”):覆盖项目配额相关的功能,包括项目配额的设置、更改和查看等。
◎ Tag保留(“/retentions”):覆盖Artifact保留策略相关的功能,包括保留策略的创建、修改、删除和执行等。
◎ Artifact管理(“/projects/{project_id}/immutabletagrules”):覆盖项目中不可变Artifact策略相关的功能,包括不可变策略的创建、修改、删除和执行等。
◎ Webhook(“/projects/{project_id}/webhook”):覆盖Webhook相关的功能,包括Webhook的创建、修改和删除等。
◎ 系统配置(“/configurations”和“/systeminfo”):覆盖系统配置和基本信息相关的功能,包括系统配置的查看和修改等。

查看所有项目

 curl -k -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://10.10.101.123:30003/api/v2.0/projects"

在这里插入图片描述

查看所有项目并使用jq只显示

curl -k -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://10.10.101.123:30003/api/v2.0/projects" |jq -r '.[].name'

在这里插入图片描述

查询offline项目下的镜像仓库有哪些

curl -k -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://10.10.101.123:30003/api/v2.0/projects/offline/repositories/"

查询offline项目下的镜像仓库有哪些(只看名字)

 curl -s -k -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://10.10.101.123:30003/api/v2.0/projects/offline/repositories/" |jq -r '.[].name'

在这里插入图片描述
获取

curl -s -k -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" https://10.10.101.123:30003/api/v2.0/projects/offline/repositories/node/artifacts" |  jq -r '.[] | .tags[]?.name as $tag | "'node':\($tag)"'
node:v3.25.1

持续更新中关注不迷糊

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Golang调用Harbor API删除镜像,可以按照以下步骤进行操作: 1. 导入相关的Golang软件包: ```go import ( "bytes" "net/http" ) ``` 2. 构建HTTP请求: ```go func createRequest(method, url string, payload []byte) (*http.Request, error) { req, err := http.NewRequest(method, url, bytes.NewBuffer(payload)) if err != nil { return nil, err } req.Header.Set("Content-Type", "application/json") return req, nil } ``` 3. 发送HTTP请求并获取响应: ```go func sendRequest(req *http.Request) (*http.Response, error) { client := http.DefaultClient resp, err := client.Do(req) if err != nil { return nil, err } return resp, nil } ``` 4. 构建删除镜像的URL: ```go func buildDeleteURL(baseURL, projectName, repoName, tag string) string { return fmt.Sprintf("%s/api/repositories/%s/%s/tags/%s", baseURL, projectName, repoName, tag) } ``` 5. 执行删除镜像的操作: ```go func deleteImage(baseURL, projectName, repoName, tag, username, password string) error { url := buildDeleteURL(baseURL, projectName, repoName, tag) req, err := createRequest("DELETE", url, nil) if err != nil { return err } req.SetBasicAuth(username, password) resp, err := sendRequest(req) if err != nil { return err } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { return fmt.Errorf("Failed to delete image. Status code: %d", resp.StatusCode) } return nil } ``` 其中,baseURL是Harbor的URL,projectName是项目名称,repoName是镜像仓库名称,tag是镜像标签,username和password是Harbor API的登录凭证。 通过以上步骤,就可以使用Golang调用Harbor API删除镜像了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值