REST API¶
开发环境中的 API 将在/api/galaxy/
或 /api/automation-hub/
下提供服务。访问此端点显示有两个可用版本:v3/
和 pulp/api/v3/
。在为后端贡献新功能时,理解每个 API 的用途至关重要。
v3/¶
这是原始的 galaxy_ng API。它主要用于内容消费,并填补 pulp API 无法支持的某些客户端特定空白。应在此处添加以下 API 端点:
- 提供内容消费接口。某些客户端(例如
ansible-galaxy
)需要特定的 API 布局才能运行。其他客户端(例如 UI)需要更丰富的数据 API,这些 API 从多个 pulp 模型中提取数据。- 示例
- 执行环境搜索 - 在 pulp-container 的普通 EE API 之上提供一层抽象,使 UI 更易于使用。
- 集合搜索
- 集合下载 - 提供驱动
ansible-galaxy
CLI 所需的 API。
- 示例
- 提供客户端操作。
- 示例
- 令牌生成。Pulpcore 不支持 API 令牌,但
ansible-galaxy
需要它们。 - UI 身份验证。用于验证 pulp 的 API 不支持 JSON。
- 配置。UI 需要了解有关后端配置的更多信息,而 pulp API 无法提供这些信息。
- 令牌生成。Pulpcore 不支持 API 令牌,但
- 示例
- 提供内容特定操作。
- 集合弃用
- EE/集合删除 - 内容删除是一个高级操作,需要在 pulp API 上执行许多单独步骤。这些端点在许多较低级别的 pulp 操作之上提供了一个很好的抽象。
pulp/api/v3/¶
这些 API 由 pulpcore 提供,可以由其他插件(包括 galaxy_ng)扩展。这些 API 应用于管理 pulp 原语。这包括:
- 常规内容操作
- 在存储库之间移动、复制和同步内容。
- 管理任何 pulp 原语。这包括:
- 存储库
- 远程
- 分发
- 组
- 用户
- RBAC 角色
- 任务
- 几乎所有其他在pulpcore 模型中定义的内容。
OpenAPI规范¶
Pulp 使用drf-spectacular从 API 自动生成 OpenAPI 规范。此规范可以在/api/automation-hub/pulp/api/v3/docs/
中找到,并描述了 API 的工作方式。此 OpenAPI 规范还用于生成 pulp 绑定以以编程方式与 pulp API 交互。