通过Swagger查看和测试Harbor的REST API
Swagger文件提供了查看和测试Harbor的REST API的方式。首先,请获取Harbor的源码:
git clone [email protected]:vmware/harbor.git
查看Harbor的Rest API
- 首先在Harbor项目的doc目录下打开 swagger.yaml 文件;
- 复制里面的所有内容到Swagger的在线编辑器 http://editor.swagger.io. 然后就能在页面的右侧看到Harbor的REST API的描述信息。
测试Harbor REST API
你可能需要不时的手动测试Harbor REST API. 你可以部署Swagger文件到Harbor服务节点上。
注意: 当使用Swagger向Harbor发送REST请求时,你可能不经意间修改了Harbor的数据。因此,不建议在Harbor的生产环境使用Swagger。
进入Harbor项目的 docs 目录.
cd docs
在 docs 目录下编辑脚本文件 prepare-swagger.sh .
vi prepare-swagger.sh
更改Harbor服务器的schema协议。
SCHEME=<HARBOR_SERVER_SCHEME>
更改 SERVER_IP 为你的Harbor服务的IP.
SERVER_IP=<HARBOR_SERVER_DOMAIN>
运行该脚本. 它会下载Swagger包并解压到Harbor项目的 static 目录下。
./prepare-swagger.sh
进入 make 目录
cd ../make/dev
编辑 docker-compose.yml 文件.
vi docker-compose.yml
在 docker-compose.yml 文件ui.volumes 段中的添加两行。
... ui: ... volumes: - ./config/ui/app.conf:/etc/ui/app.conf - ./config/ui/private_key.pem:/etc/ui/private_key.pem ## add two lines as below ## - ../../src/ui/static/vendors/swagger-ui-2.1.4/dist:/go/bin/static/vendors/swagger - ../../src/ui/static/resources/yaml/swagger.yaml:/go/bin/static/resources/yaml/swagger.yaml ...
Rebuild Harbor 项目
docker-compose build
清除上一个运行版本. 注意: 该命令不会清理存在的数据。
docker-compose rm
开始编译新Harbor
docker-compose up
由于Harbor API通常需要携带session ID, 请在浏览器中先登录Harbor
- 在浏览器中开启另一个页面用于共享session id.
输入Swagger页面的URL.
http://<HARBOR_SERVER>/static/vendors/swagger/index.html
现在,你应该就可以看到 swagger.yaml 文件加载出来的swagger的API的UI页面, 时刻注意使用swagger提交的REST请求可能改变Harbor的数据.