3.2. 机构软件仓库
创建机构后,您可以将一组存储库直接关联到该组织。机构的存储库与基本存储库不同,即组织旨在通过用户组设置共享存储库。在 Red Hat Quay 中,一组用户可以是 团队,也可以是具有相同权限的用户或 单个用户。
有关机构的其他有用信息包括:
- 您不能将机构嵌入到另一个机构中。要划分机构,请使用 team。
机构无法直接包含用户。您必须首先添加一个团队,然后为每个团队添加一个或多个用户。
注意单个用户可以添加到组织内的特定存储库中。因此,这些用户不是 Repository Settings 页面中的任何团队的成员。Teams and Memberships 页面上的 Collaborators View 显示有权直接访问该机构中特定存储库的用户,而无需特别成为该机构的一部分。
- 团队可以被设置在机构中,就像使用存储库和相关镜像的成员一样,或者作为具有特殊特权来管理机构的管理员一样。
3.2.1. 创建机构 复制链接链接已复制到粘贴板!
使用以下步骤创建机构。
流程
- 在 Repositories 登录页面上,单击 Create New Organization。
- 在 Organization Name 下,输入至少 2 个字符且小于 225 个字符的名称。
- 在 Organization Email 下,输入与您帐户电子邮件不同的电子邮件。
- 点 Create Organization 以完成创建。
3.2.1.1. 使用 API 创建另一个机构 复制链接链接已复制到粘贴板!
您可以使用 API 创建另一个机构。要做到这一点,您必须使用 UI 创建第一个机构。您还必须生成 OAuth 访问令牌。
使用以下步骤使用 Red Hat Quay API 端点创建另一个机构。
先决条件
- 至少有一个机构使用 UI 创建。
- 您已生成了 OAuth 访问令牌。如需更多信息,请参阅"创建 OAuth 访问令牌"。
流程
输入以下命令,创建名为
data.json
的文件:touch data.json
$ touch data.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在文件中添加以下内容,它将是新机构的名称:
{"name":"testorg1"}
{"name":"testorg1"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令使用 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/
$ 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/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
"Created"
"Created"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. 将团队添加到机构中 复制链接链接已复制到粘贴板!
当您为机构创建团队时,您可以选择团队名称,选择要提供给团队的存储库,并决定对团队的访问级别。
使用以下步骤为您的机构创建团队。
先决条件
- 您已创建了一个机构。
流程
- 在 Repositories 登录页面上,选择要向其添加团队的组织。
- 在导航窗格中,选择 Teams 和 Membership。默认情况下,所有者 团队为创建机构的用户存在 Admin 特权。
- 单击 Create New Team。
- 为新团队输入一个名称。请注意,团队必须以小写字母开头。它还只能使用小写字母和数字。不允许使用大写字母或特殊字符。
- 点 Create team。
- 单击要重定向到团队页面的 团队 名称。在这里,您可以添加团队的描述,并添加团队成员,如注册的用户、机器人或电子邮件地址。如需更多信息,请参阅"将用户添加到团队"。
- 单击 No repositories 文本,以显示可用存储库的列表。选择您要为其团队访问的每个存储库的复选框。
选择您希望团队具有的适当权限:
- None。团队成员对存储库没有权限。
- 读取.团队成员可以从存储库查看和拉取。
- 写入。团队成员可以从中读取(拉取)并写入(推送)到存储库。
- 管理.从存储库拉取(pull)和推送到存储库的完整访问权限以及执行与存储库关联的管理任务的能力。
- 点 Add permissions 为团队保存存储库权限。
3.2.3. 设置团队角色 复制链接链接已复制到粘贴板!
添加团队后,您可以在机构中设置该团队的角色。
先决条件
- 您已创建了一个团队。
流程
- 在 Repository 登录页面上,点您的机构的名称。
- 在导航窗格中,单击 Teams 和 Membership。
选择 TEAM ROLE 下拉菜单,如下图所示:
对于所选团队,请选择以下角色之一:
- 成员 :继承为团队设置的所有权限。
- 创建者.所有成员权限,以及创建新存储库的功能。
- 管理.对组织的完全管理访问权限,包括创建团队、添加成员和设置权限的能力。
3.2.4. 将用户添加到团队 复制链接链接已复制到粘贴板!
使用组织的管理特权,您可以在团队中添加用户和机器人帐户。当您添加用户时,Red Hat Quay 会向该用户发送电子邮件。用户保持待定,直到他们接受邀请。
使用以下步骤将用户或机器人帐户添加到团队中。
流程
- 在 Repository 登录页面上,点您的机构的名称。
- 在导航窗格中,单击 Teams 和 Membership。
- 选择您要将用户添加到的团队或机器人帐户。
在 Team Members 框中,输入以下之一的信息:
- 来自 registry 帐户的用户名。
- registry 中用户帐户的电子邮件地址。
机器人帐户的名称。名称必须采用 <organization_name>+<robot_name> 的形式。
注意机器人帐户会立即添加到团队。对于用户帐户,加入的邀请由用户发送。在用户接受该邀请之前,用户会一直处于 INVITED TO JOIN 状态。用户接受加入团队的电子邮件邀请后,他们会从 INVITED TO JOIN 列表移到机构的 MEMBERS 列表。