6.14. 使用 Red Hat Quay API 创建和配置机器人帐户


可以使用 Red Hat Quay API 为机构和用户创建、检索、更改和删除机器人帐户。

6.14.1. 使用 Red Hat Quay API 创建机器人帐户

使用以下步骤使用 Red Hat Quay API 创建机器人帐户。

先决条件

  • 您已创建了 OAuth 访问令牌
  • 您已在 config.yaml 文件中设置了 BROWSER_API_CALLS_XHR_ONLY: false

流程

  • 输入以下命令,使用 PUT /api/v1/organization/{orgname}/robots/{robot_shortname} 端点为机构创建新的机器人帐户:

    $ curl -X PUT   -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_name>"

    输出示例

    {"name": "orgname+robot-name", "created": "Fri, 10 May 2024 15:11:00 -0000", "last_accessed": null, "description": "", "token": "<example_secret>", "unstructured_metadata": null}
  • 输入以下命令为当前用户创建一个新的机器人帐户,其 PUT /api/v1/user/robots/{robot_shortname} 端点:

    $ curl -X PUT   -H "Authorization: Bearer <bearer_token>" "https://<quay-server.example.com>/api/v1/user/robots/<robot_name>"

    输出示例

    {"name": "quayadmin+robot-name", "created": "Fri, 10 May 2024 15:24:57 -0000", "last_accessed": null, "description": "", "token": "<example_secret>", "unstructured_metadata": null}

6.14.2. 使用 Red Hat Quay API 获取机器人帐户信息

可以使用 Red Hat Quay API 为组织和用户获取机器人帐户信息,如权限。

先决条件

  • 您已创建了 OAuth 访问令牌
  • 您已在 config.yaml 文件中设置了 BROWSER_API_CALLS_XHR_ONLY: false

流程

  • 使用 GET /api/v1/organization/{orgname}/robots/{robot_shortname} API 端点返回机构机器人的信息:

    curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>"

    输出示例

    {"name": "test+example", "created": "Mon, 25 Nov 2024 16:25:16 -0000", "last_accessed": null, "description": "", "token": "BILZ6YTVAZAKOGMD9270OKN3SOD9KPB7OLKEJQOJE38NBBRUJTIH7T5859DJL31Q", "unstructured_metadata": {}}

  • 使用 GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions 端点返回特定机构机器人的权限列表:

    $ curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      "https://quay-server.example.com/api/v1/organization/<ORGNAME>/robots/<ROBOT_SHORTNAME>/permissions"

    输出示例

    {"permissions": [{"repository": {"name": "testrepo", "is_public": true}, "role": "admin"}]}

  • 使用 GET /api/v1/user/robots/{robot_shortname} API 端点返回具有指定名称的机器人:

    $ curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>"

    输出示例

    {"name": "quayadmin+mirror_robot", "created": "Wed, 15 Jan 2025 17:22:09 -0000", "last_accessed": null, "description": "", "token": "QBFYWIWZOS1I0P0R9N1JRNP1UZAOPUIR3EB4ASPZKK9IA1SFC12LTEF7OJHB05Z8", "unstructured_metadata": {}}

  • 使用 GET /api/v1/user/robots/{robot_shortname}/permissions API 端点返回用户机器人的权限列表:

    $ curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      "https://quay-server.example.com/api/v1/user/robots/<ROBOT_SHORTNAME>/permissions"

    输出示例

    {"permissions": [{"repository": {"name": "busybox", "is_public": false}, "role": "write"}]}

6.14.3. 使用 Red Hat Quay API 删除机器人帐户

使用以下步骤使用 Red Hat Quay API 删除机器人帐户。

先决条件

  • 您已创建了 OAuth 访问令牌
  • 您已在 config.yaml 文件中设置了 BROWSER_API_CALLS_XHR_ONLY: false

流程

  1. 输入以下命令,使用 DELETE /api/v1/organization/{orgname}/robots/{robot_shortname} 端点删除机构的机器人帐户:

    curl -X DELETE \
      -H "Authorization: Bearer <bearer_token>" \
      "<quay-server.example.com>/api/v1/organization/<organization_name>/robots/<robot_shortname>"
  2. 在使用 API 删除机器人帐户时,CLI 不会返回信息。要确认删除操作,您可以检查 Red Hat Quay UI,或者您可以输入以下 GET /api/v1/organization/{orgname}/robots 命令,以查看是否为机器人帐户返回详情:

    $ curl -X GET   -H "Authorization: Bearer <bearer_token>"   "https://<quay-server.example.com>/api/v1/organization/<organization_name>/robots"

    输出示例

    {"robots": []}
  3. 输入以下命令,使用 DELETE /api/v1/user/robots/{robot_shortname} 端点删除当前用户的机器人帐户:

    $ curl -X DELETE \
      -H "Authorization: Bearer <bearer_token>" \
      "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"
  4. 在使用 API 删除当前用户的机器人帐户时,CLI 不会返回信息。要确认删除操作,您可以检查 Red Hat Quay UI,或者您可以输入以下 GET /api/v1/user/robots/{robot_shortname} 命令,以查看是否为机器人帐户返回详情:

    $ curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      "<quay-server.example.com>/api/v1/user/robots/<robot_shortname>"

    输出示例

    {"message":"Could not find robot with specified username"}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.