3.2. 机构软件仓库

创建机构后,您可以将一组存储库直接关联到该机构。机构的存储库与基本存储库不同,组织旨在通过一组用户设置共享存储库。在 Red Hat Quay 中,用户组可以是 团队,也可以是具有相同权限的用户集合,或是 个人用户

有关机构的其他有用信息包括:

  • 您不能将机构嵌入到另一个机构中。要从属一个机构,您可以使用团队。
  • 机构无法直接包含用户。您必须首先添加一个团队,然后为每个团队添加一个或多个用户。

    注意

    单个用户可以添加到机构内部的特定存储库中。因此,这些用户不是 Repository Settings 页面中任何团队的成员。Teams 和 Memberships 页面上的 Collaborat ors View 显示有权直接访问机构中特定存储库的用户,而无需成为该组织的一部分。

  • 团队可以在机构中设置,就像使用存储库和相关镜像的成员一样,或者作为具有特殊权限的管理员来管理组织的管理员。

3.2.1. 创建机构

使用以下步骤创建机构。

流程

  1. Repositories 登录页面上,单击 Create New Organization
  2. Organization Name 下,输入至少 2 个字符长且小于 225 个字符的名称。
  3. 组织电子邮件 下,输入与您帐户电子邮件不同的电子邮件。
  4. Create Organization 以完成创建。

3.2.1.1. 使用 API 创建另一个机构

您可以使用 API 创建另一个机构。为此,您必须使用 UI 创建了第一个机构。您还必须已生成 OAuth 访问令牌。

使用以下步骤使用 Red Hat Quay API 端点创建另一个机构。

先决条件

  • 您至少已使用 UI 创建了一个机构。
  • 您已生成了 OAuth 访问令牌。如需更多信息,请参阅"创建 OAuth 访问令牌"。

流程

  1. 输入以下命令创建一个名为 data.json 的文件:

    $ touch data.json
  2. 在文件中添加以下内容,这将是新机构的名称:

    {"name":"testorg1"}
  3. 输入以下命令使用 API 端点创建新机构,传递您的 OAuth Access Token 和 Red Hat Quay registry 端点:

    $ curl -X POST -k -d @data.json -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" http://<quay-server.example.com>/api/v1/organization/

    输出示例

    "Created"

3.2.2. 将团队添加到机构

为您的机构创建团队时,您可以选择团队名称,选择哪些存储库可供团队使用,并决定对团队的访问权限级别。

使用以下步骤为您的机构创建团队。

先决条件

  • 您已创建了一个机构。

流程

  1. Repositories 登录页面上,选择要向其添加团队的组织。
  2. 在导航窗格中,选择 Teams 和 Membership。默认情况下,所有者 团队存在,具有创建该组织的用户的 Admin 特权。
  3. 单击 Create New Team
  4. 输入新团队的名称。请注意,团队必须以小写开头。它还可以使用小写字母和数字。不允许大写字母或特殊字符。
  5. Create team
  6. 点要重定向到团队页面的 团队 名称。在这里,您可以添加团队的描述,并添加团队成员,如注册的用户、机器人或电子邮件地址。如需更多信息,请参阅"将用户添加到团队"。
  7. 单击 No repositories 文本,以调出可用存储库的列表。选择您要提供团队访问权限的每个存储库的方框。
  8. 选择您希望团队具有的适当权限:

    • None。团队成员没有对存储库的权限。
    • 阅读。团队成员可以从存储库查看和拉取。
    • 写入。团队成员可以从存储库读取(拉取)并写入(推送)到存储库。
    • 管理员.从存储库拉取和推送到存储库的完整访问权限,以及执行与存储库关联的管理任务。
  9. Add permissions 保存团队的存储库权限。

3.2.3. 设置团队角色

添加团队后,您可以在机构中设置该团队的角色。

先决条件

  • 您已创建了团队。

流程

  1. Repository 登录页面上,点您的机构名称。
  2. 在导航窗格中,单击 Teams 和 Membership
  3. 选择 TEAM ROLE 下拉菜单,如下图所示:

    Set the role that a team has within an organization

  4. 对于所选团队,选择以下角色之一:

    • 成员.继承为团队设置的所有权限。
    • 创建者.所有成员权限,以及创建新存储库的能力。
    • 管理员.对机构的完整管理访问权限,包括创建团队、添加成员和设置权限的能力。

3.2.4. 将用户添加到团队

使用组织的管理特权,您可以将用户和机器人帐户添加到团队中。当您添加用户时,Red Hat Quay 会向该用户发送电子邮件。用户会一直处于待处理状态,直到他们接受邀请。

使用以下步骤将用户或机器人帐户添加到团队中。

流程

  1. Repository 登录页面上,点您的机构名称。
  2. 在导航窗格中,单击 Teams 和 Membership
  3. 选择您要将用户添加到的团队或机器人帐户。
  4. Team Members 框中,为以下之一输入信息:

    • 来自 registry 上帐户的用户名。
    • registry 上用户帐户的电子邮件地址。
    • 机器人帐户的名称。名称必须采用 <organization_name>+<robot_name> 的形式。

      注意

      机器人帐户会立即添加到团队。对于用户帐户,加入的邀请将发送给用户。在用户接受该邀请前,用户仍然处于 INVITED TO JOIN 状态。用户接受电子邮件邀请加入团队后,他们会从 INVITED TO JOIN 列表移到机构的 MEMBERS 列表。