(二十)VMware Harbor - API
可以用swagger在线解析
http://editor.swagger.io/
将swagger.yaml中的内容拷贝到里面即可。
官方文档说明链接如下:
https://github.com/vmware/harbor/blob/master/docs/configure_swagger.md
1. 健康检查
curl -X GET "http://172.25.65.126:8000/api/health" -H "accept: application/json"
2. 根据项目名查询
Search for projects, repositories and helm charts
curl -X GET "http://172.25.65.126:8000/api/search?q=sx628" -H "accept: application/json"
3. 根据拥有者,是否公开查询项目
curl -X GET "http://172.25.65.126:8000/api/projects?name=sx628&public=true&owner=test01" -H "accept: application/json"
4. 查询项目名是否存在
curl -X HEAD "http://172.25.65.126:8000/api/projects?project_name=sx62811" -H "accept: application/json"
5. 新建一个项目
curl -X POST "http://172.25.65.126:8000/api/projects" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"project_name\": \"test073\", \"metadata\": { \"public\": \"true\", \"enable_content_trust\": \"string\", \"prevent_vul\": \"string\", \"severity\": \"string\", \"auto_scan\": \"string\" }}"
6. 获取当前用户
curl -X GET "http://172.25.65.126:8000/api/users/current" -H "accept: application/json"
7. 获取镜像
curl -X GET "http://172.25.65.126:8000/api/search?q=sx628" -H "accept: application/json"
{ "project": [ { "project_id": 3, "owner_id": 3, "name": "sx628", "creation_time": "2019-06-28T08:36:40Z", "update_time": "2019-06-28T08:36:40Z", "deleted": false, "owner_name": "", "togglable": true, "current_user_role_id": 0, "repo_count": 2, "chart_count": 0, "metadata": { "auto_scan": "false", "enable_content_trust": "false", "prevent_vul": "false", "public": "false", "severity": "low" } } ], "repository": [ { "project_id": 3, "project_name": "sx628", "project_public": false, "pull_count": 18, "repository_name": "sx628/harbor", "tags_count": 1 }, { "project_id": 3, "project_name": "sx628", "project_public": false, "pull_count": 6, "repository_name": "sx628/nginx", "tags_count": 1 } ] }
8. 根据用户名,用户邮箱获取
curl -X GET "http://172.25.65.126:8000/api/users/search?username=test02&email=test02%40163.com" -H "accept: application/json"
9. 根据用户id 获取用户的详细信息
curl -X GET "http://172.25.65.126:8000/api/users/3" -H "accept: application/json"
10. 查询用户拥有的项目
curl -X GET "http://172.25.65.126:8000/api/projects?owner=test01" -H "accept: application/json"
[ { "project_id": 2, "owner_id": 3, "name": "test01", "creation_time": "2019-06-28T05:58:47Z", "update_time": "2019-06-28T05:58:47Z", "deleted": false, "owner_name": "", "togglable": true, "current_user_role_id": 0, "repo_count": 0, "chart_count": 0, "metadata": { "public": "false" } }, { "project_id": 3, "owner_id": 3, "name": "sx628", "creation_time": "2019-06-28T08:36:40Z", "update_time": "2019-06-28T08:36:40Z", "deleted": false, "owner_name": "", "togglable": true, "current_user_role_id": 0, "repo_count": 2, "chart_count": 0, "metadata": { "auto_scan": "false", "enable_content_trust": "false", "prevent_vul": "false", "public": "false", "severity": "low" } } ]
11 . 根据项目ID,查询成员信息
curl -X GET "http://172.25.65.126:8000/api/projects/3/members" -H "accept: application/json"
[ { "id": 4, "project_id": 3, "entity_name": "test01", "role_name": "projectAdmin", "role_id": 1, "entity_id": 3, "entity_type": "u" }, { "id": 8, "project_id": 3, "entity_name": "test02", "role_name": "developer", "role_id": 2, "entity_id": 4, "entity_type": "u" }, { "id": 6, "project_id": 3, "entity_name": "test04", "role_name": "guest", "role_id": 3, "entity_id": 5, "entity_type": "u" } ]
12. 获取仓库
curl -X GET "http://172.25.65.126:8000/api/registries" -H "accept: application/json"
[ { "id": 1, "name": "kuai-test", "description": "test", "type": "harbor", "url": "http://172.25.58.1:8000", "token_service_url": "", "credential": { "type": "basic", "access_key": "admin", "access_secret": "*****" }, "insecure": false, "status": "healthy", "creation_time": "2019-06-28T02:45:51.89703Z", "update_time": "2019-07-03T08:33:17.570053Z" } ]
13. 查询标签:全局:G,项目:P
curl -X GET "http://172.25.65.126:8000/api/labels?scope=g" -H "accept: application/json"
[ { "id": 4, "name": "dev", "description": "开发环境", "color": "#0065AB", "scope": "g", "project_id": 0, "creation_time": "2019-07-01T01:57:04.194757Z", "update_time": "2019-07-01T01:57:04.194757Z", "deleted": false }, { "id": 5, "name": "pro", "description": "生产环境", "color": "#C92100", "scope": "g", "project_id": 0, "creation_time": "2019-07-01T02:14:33.467617Z", "update_time": "2019-07-01T02:14:33.467617Z", "deleted": false }, { "id": 3, "name": "test", "description": "测试环境", "color": "#781DA0", "scope": "g", "project_id": 0, "creation_time": "2019-07-01T01:56:46.204878Z", "update_time": "2019-07-01T01:56:46.204878Z", "deleted": false } ]
14. 查询LDAP分组
curl -X GET "http://172.25.65.126:8000/api/ldap/groups/search" -H "accept: application/json"
不要小瞧女程序员
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具