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
},
...