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相关推荐

  1. Spring3.1新属性管理API:PropertySource、Environment、Profile

    2019独角兽企业重金招聘Python工程师标准>>> Spring3.1提供了新的属性管理API,而且功能非常强大且很完善,对于一些属性配置信息都应该使用新的API来管理.虽然现在 ...

  2. 【Go API 开发实战 7】基础 3:记录和管理 API 日志

    记录和管理 API 日志 本节核心内容 Go 日志包数量众多,功能不同.性能不同,本教程介绍一个笔者认为比较好的日志库,并给出原因 介绍如何初始化日志包 介绍如何调用日志包 介绍如何转存(rotate ...

  3. SQLite3中核心C API

    核心C API SQLite3 有八个函数用于实际处理连接.处理查询以及断开数据库连接的.其余都是为了完成特定的任务 一.查询封装 通过封装查询对数据库进行连接.断开.以及查询. 1.连接和断开 执行 ...

  4. 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中支持 ...

  5. Asp.net用户管理API的应用(上)

    Asp.net官方标准控件实现用户的管理,虽然简单,但控件封装性很强,开发人员不能明白做了什么样的调用,还用别一方面,标准控件的使用,很大程度上限制了程序的可变性.如果自开发一整套用户管理系统,可行, ...

  6. multipartfile前端怎么传_前端那些事如何更好管理 Api 接口

    ❝ 前沿:自从前端和后端分家之后,前后端接口对接就成为了家常,"谁"也离不开谁,而对接接口的过程就离不开接口文档,比较主流就是Swagger(强大的API文档工具),当然今天它不是 ...

  7. php版redis插件,SSDB数据库,增强型的Redis管理api实例

    php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储. 另外,r ...

  8. 参与 API 创新应用大赛,体验RDS费用管理 API

    在使用云产品的过程中,对于企业用户而言,费用管理也是很重要的一环.阿里云的RDS就提供了费用管理的相关API,来帮助我们更好的对RDS使用费用进行管理.此次,在API创新应用大赛中,也有参赛者对RDS ...

  9. lisp 读取dwg 统计信息_用阿里云交易和账单管理API实现MaxCompute费用对账分摊统计...

    利用MaxCompute InformationSchema与阿里云交易和账单管理API 实现MaxCompute费用对账分摊统计 一.需求场景分析 很多的企业用户选择MaxCompute按量付费模式 ...

最新文章

  1. 使用Android SDK Manager下载sdk时总是出现中断异常的解决办法。
  2. Java8函数式编程(4)--终止操作(源码)
  3. Angular 父子Component的数据绑定实现
  4. XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,
  5. 每天一个linux命令(1):ln 命令
  6. bzoj 3404: [Usaco2009 Open]Cow Digit Game又见数字游戏(SG函数)
  7. Comparable与Comparator
  8. c语言三角函数乘法怎么表示,这个图里的三角函数 要怎么用c语言打出来
  9. 混合储能系统能量管理simulink仿真模型。 蓄电池和超级电容构成的混合储能系统能量管理控制策略
  10. 第二代支付系统专题之报文篇(二)大额支付报文完整版(含二代新增功能业务说明)
  11. 云原生数据库 Amazon DynamoDB 十年创新回顾
  12. 华为p40会不会有鸿蒙系统,华为p40是不是鸿蒙系统
  13. 计算机网络协议(五)——DNS、HTTPDNS
  14. IEC 61850 Compatible OpenPLC for Cyber Attack Case Studies on Smart Substation Systems
  15. MySQL按照汉字拼音字母排序
  16. 服务器单独运行jar包方法
  17. 合振动的初相位推导_两个简谐运动合成之后得到的振动的初相合振幅公式怎么算出来的??...
  18. 网页三剑客,html/css/javascript
  19. 负载均衡(Load Balance)简单介绍
  20. python contains魔法方法_Python魔法方法详解

热门文章

  1. Air系列模块Lua版本nvm功能汇总
  2. HDFS系统上使用命令hadoop fs -rm -rf 误删文件补救
  3. 垃圾回收之ZGC/Shenandoah GC
  4. 面向对象测试题(含答案和解析)
  5. c语言程序设计黑马答案,【上海校区】C语言程序设计100例之
  6. 游戏开发第一阶段笔记(3):C语言 指针与数组
  7. 算法 | 基础 - [常见问题]
  8. MyBatis3中CDATA的使用
  9. java cdata_Mybatis 中的![CDATA[ ]]浅析
  10. openwrt 基础知识