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 引用。