题图摄于西雅图
注:微信公众号不按照时间排序,请关注“亨利笔记”,并加星标以置顶,以免错过更新。
【编者注】本文介绍如何通过 API 与 Harbor 交互,用户可在此基础上开发各类管理工具或者把 Harbor 集成到其他系统中。Harbor API 在开发运维的自动化实践中有重要作用。
相关文章:
本文内容节选自最新出版的《 Harbor权威指南》 一书第10章,相关作者为 Harbor 开源项目维护者尹文开,值得 Harbor 用户收藏以备后用。
(目前在当当网优惠活动中,请抓紧机会购买,点击以下图片即可。)
衡量一个软件成熟度的标准之一,是看该软件是否提供了丰富和完善的 API,能否方便、灵活地与其他系统集成,满足各种场景的需求。Harbor 提供了完整的RESTful API,以方便用户进行二次开发、系统集成和流程自动化等相关工作。Harbor 的代码实现了用户、项目、扫描、复制、Artifact 等核心管理功能。除此之外,Harbor 也集成了其他开源组件(如 Docker Distribution 等)来完成相应的功能,这些组件的 API 会通过 Harbor 暴露给用户。
根据功能组件的不同,Harbor 提供的 API 主要分为两类:核心管理 API 和 Registry API ,整体结构如下图所示。核心管理 API 的功能基本由 Harbor 项目实现,Registry API 的功能主要由 Docker Distribution 组件提供,通过 Harbor 透传 API 供外部调用。
核心管理API概述
核心管理API提供了 Harbor 核心管理功能的编程接口,这些功能主要如下。
◎用户管理(“/users”和“/usergroups”):覆盖用户和用户组相关的管理功能,包括用户和用户组的创建、修改、查找、删除等。
◎项目管理(“/projects”):覆盖项目相关的管理功能,包括项目的创建、修改、查找、获取概要、删除和项目元信息的管理等。
◎仓库管理(“/projects/{project_name}/repositories”):覆盖仓库相关的管理功能,包括仓库的修改、查找和删除等。
◎Artifact管理(“/projects/{project_name}/repositories/{repository_name}/artifacts”):覆盖Artifact相关的管理功能&#x