5.10. 使用 Satellite API 使用 Pulp


将 API 请求发送到与 Satellite 集成的 Pulp 请求时,使用基于证书的身份验证。

以下 Pulp API 请求示例包括如何使用 Pulp CLI 作为替代方案。当您以 root 用户身份运行 pulp 命令时,Pulp CLI 会使用 /root/.config/pulp/cli.toml 中配置的系统证书。

列出软件仓库

要列出所有存储库的端点为 /pulp/api/v3/repositories/。以下查询从 satellite.example.com 获取存储库列表,同时提供从 Satellite 服务器发出请求所需的证书。

请求示例:

curl --cacert /etc/pki/katello/certs/katello-server-ca.crt \
--cert /etc/foreman/client_cert.pem --key /etc/foreman/client_key.pem \
https://<satellite.example.com>/pulp/api/v3/repositories/ \
| python3 -m json.tool

响应示例:

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "pulp_href": "/pulp/api/v3/repositories/rpm/rpm/018cd05a-4b83-73db-b71c-587c6181d89b/",
            "pulp_created": "2024-01-03T17:23:47.715882Z",
            "versions_href": "/pulp/api/v3/repositories/rpm/rpm/018cd05a-4b83-73db-b71c-587c6181d89b/versions/",
            "pulp_labels": {},
            "latest_version_href": "/pulp/api/v3/repositories/rpm/rpm/018cd05a-4b83-73db-b71c-587c6181d89b/versions/1/",
            "name": "Red_Hat_Enterprise_Linux_8_for_x86_64_-_BaseOS_Kickstart_8_9-49838",
            "description": null,
            "retain_repo_versions": null,
            "remote": null
        }
    ]
}

或者,使用 Pulp CLI 列出存储库:

# pulp repository list
[
  {
    "pulp_href": "/pulp/api/v3/repositories/rpm/rpm/018cd025-c6ef-7237-a99e-70bab3d30941/",
    "pulp_created": "2024-01-03T16:26:25.904682Z",
    "versions_href": "/pulp/api/v3/repositories/rpm/rpm/018cd025-c6ef-7237-a99e-70bab3d30941/versions/",
    "pulp_labels": {},
    "latest_version_href": "/pulp/api/v3/repositories/rpm/rpm/018cd025-c6ef-7237-a99e-70bab3d30941/versions/1/",
    "name": "Red_Hat_Enterprise_Linux_8_for_x86_64_-_AppStream_RPMs_8-2875",
    "description": null,
    "retain_repo_versions": null,
    "remote": null
  }
]

检查 Pulp 状态

返回有关 Pulp 的状态信息的端点是 /pulp/api/v3/status/。对 Pulp 状态的请求不需要身份验证。

请求示例:

curl https://<satellite.example.com>/pulp/api/v3/status/ \
| python3 -m json.tool

响应示例:

{
    "versions": [
        {
            "component": "core",
            "version": "3.39.4",
            "package": "pulpcore",
            "domain_compatible": true
        },
        {
            "component": "rpm",
            "version": "3.23.0",
            "package": "pulp-rpm",
            "domain_compatible": true
        },
...

或者,使用 Pulp CLI 检索 Pulp 状态:

# pulp status
{
  "versions": [
    {
      "component": "core",
      "version": "3.39.4",
      "package": "pulpcore",
      "domain_compatible": true
    },
    {
      "component": "rpm",
      "version": "3.23.0",
      "package": "pulp-rpm",
      "domain_compatible": true
    },
...

其他资源

  • 使用 Pulp CLI 的详细信息,运行 pulp --help
  • https:// <satellite.example.com> /pulp/api/v3/docs/ 的 Satellite 服务器上提供了 Pulp 的完整 API 引用。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.