HARBOR 仓库 API功能接口

1       项目管理

1.1     查看仓库中项目详细信息

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/projects/{project_id}"

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/projects?project_name=guest"

1.2     搜索镜像

curl  -u "admin:Harbor12345"  -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/search?q=nginx"

1.3     删除项目

curl  -u "admin:Harbor12345"  -X DELETE  -H "Content-Type: application/json" "https://192.168.56.106/api/projects/{project_id}"

1.4     创建项目

curl -u "admin:Harbor12345" -X POST -H "Content-Type: application/json" "https://192.168.56.106/api/projects" -d @createproject.json

 

createproject.json例子

{

  "project_name": "testrpo",

  "public": 0

}

1.5     查看项目日志

curl -u "admin:Harbor12345" -X POST -H "Content-Type: application/json" "https://192.168.56.106/api/projects/{project_id}/logs/filter" -d @log.json

 

[root@dcos-hub json]# cat log.json

{

  "username": "admin"

}

2       账号管理

2.1     创建账号

curl -u "admin:Harbor12345" -X POST -H "Content-Type: application/json" "https://192.168.56.106/api/users" -d @user.json

 

[root@dcos-hub json]# cat >user.json

{

  "user_id": 5,

  "username": "xinju",

  "email": "xinju@gmail.com",

  "password": "Xinju12345",

  "realname": "xinju",

  "role_id": 2

}

2.2     获取用户信息

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/users"

2.3     获取当前用户信息

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/users/current"

2.4     删除用户

curl -u "admin:Harbor12345" -X DELETE  -H "Content-Type: application/json" "https://192.168.56.106/api/users/{user_id}"

2.5     修改用户密码

curl -u "admin:Harbor12345" -X PUT -H "Content-Type: application/json" "https://192.168.56.106/api/users/{user_id}/password" -d @uppwd.json

 

[root@dcos-hub json]# cat uppwd.json

{

  "old_password": "Harbor123456",

  "new_password": "Harbor12345"

}

3       用户权限管理

3.1     查看项目相关角色

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/projects/{project_id}/members/"

3.2     项目添加角色

curl -u "jaymarco:Harbor123456" -X POST  -H "Content-Type: application/json" "https://192.168.56.106/api/projects/{project_id}/members/" -d @role.json

 

[root@dcos-hub json]# cat role.json

{

  "roles": [

    3

  ],

  "username": "guest"

}

 用jaymarco用户创建一个snc_dcos项目,并对snc_dcos加一个权限

curl -u "jaymarco:Harbor123456" -X POST -H "Content-Type: application/json" "https://192.168.56.106/api/projects" -d @createproject.json

3.3     删除项目中用户权限

curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "https://192.168.56.106/api/projects/{project_id}/members/{user_id}"

3.4     获取与用户相关的项目编号和存储库编号

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/statistics"

3.5     修改当前用户角色

has_admin_role :0  普通用户

has_admin_role :1  管理员

curl -u "admin:Harbor12345" -X PUT -H "Content-Type: application/json" "https://192.168.56.106/api/users/{user_id}/sysadmin " -d @chgrole.json

[root@dcos-hub json]# cat >chgrole.json

{

  "has_admin_role": 1

}

4       镜像管理

4.1     查询镜像

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/repositories?project_id={project_id}&q=dcos%2Fcentos"

4.2    删除镜像

curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "https://192.168.56.106/api/repositories?repo_name=dcos%2Fetcd "

4.3     获取镜像标签

curl -u "admin:Harbor12345" -X GET -H "Content-Type: application/json" "https://192.168.56.106/api/repositories/tags?repo_name=dcos%2Fcentos"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构沉思录

通俗易懂讲解WebSocket

什么是WebSocket WebSocket是一种网络协议,在OSI模型中,WebSocket协议与HTTP协议一样,都属于最顶层的应用层协议。有些朋友可能会有...

3515
来自专栏kevin-blog

树莓派挂载ntfs硬盘

在树莓派上挂载ntfs格式的硬盘的时候,发现硬盘变成了只读文件系统,百度查了一下资料,发现树莓派默认挂载NTFS格式的硬盘只有只读权限,需要借助其它工具实现。

2481
来自专栏黄Java的地盘

[翻译]WebSocket协议第一章——Introduction

本文为WebSocket协议的第一章,本文翻译的主要内容为针对整个WebSocket进行一个简单而又全面的介绍。通过这篇文章我们能够对WebSocket有一个整...

431
来自专栏静默虚空的博客

Elastic 技术栈之 Filebeat

Elastic 技术栈之 Filebeat 简介 Beats 是安装在服务器上的数据中转代理。 Beats 可以将数据直接传输到 Elasticsearch 或...

4067
来自专栏前端大白专栏

跨域解决方案介绍2,转自github.

2208
来自专栏后端之路

使用Jenkins持续集成Vue项目配置Sonar任务

背景 关于SonarQube的配置与安装就不再赘述 各位可以自己寻找相关文档 前置条件 SonarQube的js插件版本高于3.1 有条件的小伙伴可以查看ht...

48810
来自专栏IT 指南者专栏

PyCharm 2017.3 下载与安装

微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、下载 (1)、下载链接: https://www.j...

3347
来自专栏沈唁志

PHP进阶之利用Swoole实现一个简单的WebSocket多人聊天室

其实这个聊天室的DEMO我早都发到Github上了,之前学习Swoole的时候就已经练过手了

2072
来自专栏肖乐的专栏

WebSocket 系列之 ws

腾讯云提供了一个打包方案,封装了技术细节(包括 WebSocket),用户可以直接使用简单友好的 sdk 开发自己的小程序,这个打包方案里的 WebSocket...

7230
来自专栏哎_小羊

SonarQube 的安装、配置及 Maven 项目的使用

目录 SonarQube 介绍 环境、软件准备 SonarQube 安装 Plugins 插件安装 使用 SonarQube 分析 Maven 项目 1、Son...

5928

扫码关注云+社区