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
エンドポイントを使用して、同期をキャンセルすることもできます。以下はその例です。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
- 自動同期を無効にします。