6.8. 使用 API 镜像存储库
Red Hat Quay 管理员可以使用 API 镜像外部存储库。
先决条件
-
您已在
config.yaml
文件中设置了FEATURE_REPO_MIRROR: true
。
流程
使用
POST /api/v1/repository/{repository}/mirror
端点创建新存储库镜像配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用
GET /api/v1/repository/{repository}/mirror
端点返回有关镜像配置的信息:curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \ -H "Authorization: Bearer <access_token>"
$ curl -X GET "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror" \ -H "Authorization: Bearer <access_token>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"is_enabled": true, "mirror_type": "PULL", "external_reference": "https://quay.io/repository/argoproj/argocd", "external_registry_username": null, "external_registry_config": {}, "sync_interval": 86400, "sync_start_date": "2025-01-15T12:00:00Z", "sync_expiration_date": null, "sync_retries_remaining": 3, "sync_status": "NEVER_RUN", "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["*.latest*"]}, "robot_username": "quayadmin+mirror_robot"}
{"is_enabled": true, "mirror_type": "PULL", "external_reference": "https://quay.io/repository/argoproj/argocd", "external_registry_username": null, "external_registry_config": {}, "sync_interval": 86400, "sync_start_date": "2025-01-15T12:00:00Z", "sync_expiration_date": null, "sync_retries_remaining": 3, "sync_status": "NEVER_RUN", "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["*.latest*"]}, "robot_username": "quayadmin+mirror_robot"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用
POST /api/v1/repository/{repository}/mirror/sync-now
端点来同步存储库。例如:curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-now" \ -H "Authorization: Bearer <access_token>"
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-now" \ -H "Authorization: Bearer <access_token>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令不会在 CLI 中返回输出。
另外,您可以使用
POST /api/v1/repository/{repository}/mirror/sync-cancel
endpoint.For 示例取消同步:curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-cancel" \
$ curl -X POST "https://<quay-server.example.com>/api/v1/repository/<namespace>/<repo>/mirror/sync-cancel" \
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令不会在 CLI 中返回输出。
在创建镜像配置后,您可以使用
PUT /api/v1/repository/{repository}/mirror
命令进行更改。例如,您可以选择禁用自动同步:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 禁用自动同步。