Harbor-核心管理API
0.概述
核心管理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”):覆盖系统配置和基本信息相关的功能,包括系统配置的查看和修改等。
核心管理API符合OpenAPI 2.0规范,用户可以参考GitHub上Harbor官方代码仓库中的Swagger文档获取核心管理API的详细信息。查看某个特定版本的API文档时,需要先切换到相应的代码分支,具体位置如表10-1所示。
版本 | 分支 | 文档位置 |
2.0 | release-2.0.0 | /api/v2.0 |
1.10 | release-1.10.0 | /api/harbor |
1.9及之前 | release-1.9.0等 | /docs/swagger.yaml |
也可以直接使用API控制中心功能,通过Web页面查看和使用API,具体使用方法请参考10.2.13节。
1.用户管理API
用户管理API(“/users”和“/usergroups”)覆盖用户和用户组相关的管理功能,包括用户和用户组的创建、修改、查找、删除等,如表10-2所示。
https://****:8443/api/v2.0/users
2.项目管理API
2.1 总体的API
2.2 查询当前Harbor所有的projects的情况
1.10.0版本
curl --insecure -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.244.139/api/projects"2.0版本
curl --insecure -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" https://10.21.37.104:8443/api/v2.0/projects | jq
2.3 创建公开项目
创建一个名称为“test”的公开项目的请求版本1.10.1下测试通过的案例:
curl --insecure -u "admin:Harbor12345" -H "Content-Type: application/json" -d '{"project_name":"test","metedata":{"public":"true"}}' https://192.168.244.139/api/projects版本2.0下测试案例待补充:
2.4 模糊查询项目
模糊查询:
这个查询对于harbor的1.10.0版本是不支持的,
v2.0可以用
curl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects?q=name=~library
3.仓库管理API
3.1 获取项目library/middleware项目中所有仓库的请求
【v2.0版本】
curl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects/library/repositories
curl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories
3.2 获取摸个项目的某个参考的信息
获取library/middleware项目中redis仓库的信息
curl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis
4.Artifact管理
curl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/ | jqcurl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/sha256:90f7eba398a51eea8c92718ced52f90433e53573d199fa1f6a6e9aa61ab56875/tags | jq
curl --insecure -u admin:Harbor12345 -H "Content-Type: application/json" -d '{"name":"dev"}' https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/sha256:90f7eba398a51eea8c92718ced52f90433e53573d199fa1f6a6e9aa61ab56875/tags
curl --insecure -u admin:Harbor12345 -H "Content-Type: application/json" -d '{"name":"v3.0.0"}' https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/sha256:90f7eba398a51eea8c92718ced52f90433e53573d199fa1f6a6e9aa61ab56875/tags
./a.out https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/sha256:90f7eba398a51eea8c92718ced52f90433e53573d199fa1f6a6e9aa61ab56875/tags | jq
curl --insecure -u admin:Harbor12345 -H "Content-Type: application/json" -X DELETE https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/sha256:90f7eba398a51eea8c92718ced52f90433e53573d199fa1f6a6e9aa61ab56875/tags/latest
./a.out https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/sha256:90f7eba398a51eea8c92718ced52f90433e53573d199fa1f6a6e9aa61ab56875/tags | jq
通过shell处理直接获取版本号:
curl --insecure -u "admin:Harbor12345" https://10.21.37.104:8443/api/v2.0/projects/middleware/repositories/redis/artifacts/ | sed 's/,/\n/g' | grep "name" | awk -F ':' '{print $2}' | sed 's/"//g'
12.系统服务API
"auth_mode": {"value": "db_auth"
}, "email_from": {"editable": true,"value": "admin <sample_admin@mydomain.com>"
}, "email_host": {"editable": true,"value": "smtp.mydomain.com"
}, "email_identity": {"editable": true
}, "email_insecure": {"editable": true
}, "email_port": {"editable": true,"value": 25
}, "email_ssl": {"editable": true
}, "email_username": {"editable": true,"value": "sample_admin@mydomain.com"
}, "http_authproxy_admin_groups": {"editable": true
}, "http_authproxy_admin_usernames": {"editable": true
}, "http_authproxy_endpoint": {"editable": true
}, "http_authproxy_server_certificate": {"editable": true
}, "http_authproxy_skip_search": {"editable": true
}, "http_authproxy_tokenreview_endpoint": {"editable": true
}, "http_authproxy_verify_cert": {"editable": true,"value": true
}, "ldap_base_dn": {"editable": true
}, "ldap_filter": {"editable": true
}, "ldap_group_admin_dn": {"editable": true
}, "ldap_group_attribute_name": {"editable": true
}, "ldap_group_base_dn": {"editable": true
}, "ldap_group_membership_attribute": {"editable": true,"value": "memberof"
}, "ldap_group_search_filter": {"editable": true
}, "ldap_group_search_scope": {"editable": true,"value": 2
}, "ldap_scope": {"editable": true,"value": 2
}, "ldap_search_dn": {"editable": true
}, "ldap_timeout": {"editable": true,"value": 5
}, "ldap_uid": {"editable": true,"value": "cn"
}, "ldap_url": {"editable": true
}, "ldap_verify_cert": {"editable": true,"value": true
}, "notification_enable": {"editable": true,"value": true
}, "oidc_admin_group": {"editable": true
}, "oidc_auto_onboard": {"editable": true
}, "oidc_client_id": {"editable": true
}, "oidc_endpoint": {"editable": true
}, "oidc_extra_redirect_parms": {"editable": true,"value": "{}"
}, "oidc_groups_claim": {"editable": true
}, "oidc_name": {"editable": true
}, "oidc_scope": {"editable": true
}, "oidc_user_claim": {"editable": true
}, "oidc_verify_cert": {"editable": true,"value": true
}, "project_creation_restriction": {"editable": true,"value": "everyone"
}, "quota_per_project_enable": {"editable": true,"value": true
}, "read_only": {"editable": true
}, "robot_name_prefix": {"editable": true,"value": "robot$"
}, "robot_token_duration": {"editable": true,"value": 30
}, "scan_all_policy": {}, "self_registration": {"editable": true
}, "storage_per_project": {"editable": true,"value": -1
}, "token_expiration": {"editable": true,"value": 30
}, "uaa_client_id": {"editable": true
}, "uaa_client_secret": {"editable": true
}, "uaa_endpoint": {"editable": true
}, "uaa_verify_cert": {"editable": true
}
Harbor-核心管理API相关推荐
- Spring3.1新属性管理API:PropertySource、Environment、Profile
2019独角兽企业重金招聘Python工程师标准>>> Spring3.1提供了新的属性管理API,而且功能非常强大且很完善,对于一些属性配置信息都应该使用新的API来管理.虽然现在 ...
- 【Go API 开发实战 7】基础 3:记录和管理 API 日志
记录和管理 API 日志 本节核心内容 Go 日志包数量众多,功能不同.性能不同,本教程介绍一个笔者认为比较好的日志库,并给出原因 介绍如何初始化日志包 介绍如何调用日志包 介绍如何转存(rotate ...
- SQLite3中核心C API
核心C API SQLite3 有八个函数用于实际处理连接.处理查询以及断开数据库连接的.其余都是为了完成特定的任务 一.查询封装 通过封装查询对数据库进行连接.断开.以及查询. 1.连接和断开 执行 ...
- Atitit.研发管理---api版本号策略与版本控制
Atitit.研发管理---api版本号策略与版本控制 1. 1.2.1版本概述1 2. 3主版本号策略2 3. 1PATCH版本策略2 3.1. 1.2.2.1次版本号策略2 表3-1 APR中支持 ...
- Asp.net用户管理API的应用(上)
Asp.net官方标准控件实现用户的管理,虽然简单,但控件封装性很强,开发人员不能明白做了什么样的调用,还用别一方面,标准控件的使用,很大程度上限制了程序的可变性.如果自开发一整套用户管理系统,可行, ...
- multipartfile前端怎么传_前端那些事如何更好管理 Api 接口
❝ 前沿:自从前端和后端分家之后,前后端接口对接就成为了家常,"谁"也离不开谁,而对接接口的过程就离不开接口文档,比较主流就是Swagger(强大的API文档工具),当然今天它不是 ...
- php版redis插件,SSDB数据库,增强型的Redis管理api实例
php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储. 另外,r ...
- 参与 API 创新应用大赛,体验RDS费用管理 API
在使用云产品的过程中,对于企业用户而言,费用管理也是很重要的一环.阿里云的RDS就提供了费用管理的相关API,来帮助我们更好的对RDS使用费用进行管理.此次,在API创新应用大赛中,也有参赛者对RDS ...
- lisp 读取dwg 统计信息_用阿里云交易和账单管理API实现MaxCompute费用对账分摊统计...
利用MaxCompute InformationSchema与阿里云交易和账单管理API 实现MaxCompute费用对账分摊统计 一.需求场景分析 很多的企业用户选择MaxCompute按量付费模式 ...
最新文章
- 使用Android SDK Manager下载sdk时总是出现中断异常的解决办法。
- Java8函数式编程(4)--终止操作(源码)
- Angular 父子Component的数据绑定实现
- XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,
- 每天一个linux命令(1):ln 命令
- bzoj 3404: [Usaco2009 Open]Cow Digit Game又见数字游戏(SG函数)
- Comparable与Comparator
- c语言三角函数乘法怎么表示,这个图里的三角函数 要怎么用c语言打出来
- 混合储能系统能量管理simulink仿真模型。 蓄电池和超级电容构成的混合储能系统能量管理控制策略
- 第二代支付系统专题之报文篇(二)大额支付报文完整版(含二代新增功能业务说明)
- 云原生数据库 Amazon DynamoDB 十年创新回顾
- 华为p40会不会有鸿蒙系统,华为p40是不是鸿蒙系统
- 计算机网络协议(五)——DNS、HTTPDNS
- IEC 61850 Compatible OpenPLC for Cyber Attack Case Studies on Smart Substation Systems
- MySQL按照汉字拼音字母排序
- 服务器单独运行jar包方法
- 合振动的初相位推导_两个简谐运动合成之后得到的振动的初相合振幅公式怎么算出来的??...
- 网页三剑客,html/css/javascript
- 负载均衡(Load Balance)简单介绍
- python contains魔法方法_Python魔法方法详解
热门文章
- Air系列模块Lua版本nvm功能汇总
- HDFS系统上使用命令hadoop fs -rm -rf 误删文件补救
- 垃圾回收之ZGC/Shenandoah GC
- 面向对象测试题(含答案和解析)
- c语言程序设计黑马答案,【上海校区】C语言程序设计100例之
- 游戏开发第一阶段笔记(3):C语言 指针与数组
- 算法 | 基础 - [常见问题]
- MyBatis3中CDATA的使用
- java cdata_Mybatis 中的![CDATA[ ]]浅析
- openwrt 基础知识