跳至内容

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 无法提供这些信息。
  • 提供内容特定操作。
    • 集合弃用
    • 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 交互。