6.12. Red Hat Quay API を使用して自動プルーニングポリシーを管理する
Red Hat Quay API を使用して、組織、リポジトリー、ユーザーに対して自動プルーニングポリシーを作成、取得、変更、削除できます。
手順
次のコマンドを入力し、
POST /api/v1/repositoryエンドポイントを使用してリポジトリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"namespace": "quayadmin", "name": "<new_repository_name>", "kind": "image"}{"namespace": "quayadmin", "name": "<new_repository_name>", "kind": "image"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow GET /api/v1/repositoryエンドポイントを使用して、リポジトリーをリスト表示できます。以下に例を示します。curl -X GET \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ "https://quay-server.example.com/api/v1/repository?public=true&starred=false&namespace=<NAMESPACE>"
$ curl -X GET \ -H "Authorization: Bearer <ACCESS_TOKEN>" \ "https://quay-server.example.com/api/v1/repository?public=true&starred=false&namespace=<NAMESPACE>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"repositories": [{"namespace": "quayadmin", "name": "busybox", "description": null, "is_public": false, "kind": "image", "state": "MIRROR", "is_starred": false, "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552}}]}{"repositories": [{"namespace": "quayadmin", "name": "busybox", "description": null, "is_public": false, "kind": "image", "state": "MIRROR", "is_starred": false, "quota_report": {"quota_bytes": 2280675, "configured_quota": 2199023255552}}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可視性は、
POST /api/v1/repository/{repository}/changevisibilityエンドポイントを使用してパブリックからプライベートに変更できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"success": true}{"success": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay UI を確認するか、次の
GET /api/v1/repository/{repository}コマンドを入力してリポジトリーの詳細を返せます。curl -X GET -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
$ curl -X GET -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://quay-server.example.com/api/v1/error/not_found", "status": 404}{"detail": "Not Found", "error_message": "Not Found", "error_type": "not_found", "title": "not_found", "type": "http://quay-server.example.com/api/v1/error/not_found", "status": 404}Copy to Clipboard Copied! Toggle word wrap Toggle overflow リポジトリーの説明は、
PUT /api/v1/repository/{repository}エンドポイントを使用して更新できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"success": true}{"success": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力し、
DELETE /api/v1/repository/{repository}エンドポイントを使用してリポジトリーを削除します。curl -X DELETE -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"
$ curl -X DELETE -H "Authorization: Bearer <bearer_token>" "<quay-server.example.com>/api/v1/repository/<namespace>/<repository_name>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは CLI に出力を返しません。
6.12.1. Red Hat Quay API を使用した namespace の自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントを使用して、namespace の自動プルーニングポリシーを管理できます。
前提条件
- OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
手順
次の
POST /api/v1/organization/{orgname}/autoprunepolicy/コマンドを入力して、組織で許可されるタグの数を制限する新しいポリシーを作成します。curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、タグの作成日から指定期間が経過すると期限切れになるようにタグを設定することもできます。
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{ "method": "creation_date", "value": "7d"}' http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 組織にポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
tagPatternMatchesをTrueに設定すると、指定された正規表現パターンに一致するタグがプルーニングされます。この例では、^v*に一致するタグがプルーニングされます。
出力例
{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0"}{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}コマンドを使用して、組織の自動プルーニングポリシーを更新できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。次のステップに進みます。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"policies": [{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0", "method": "creation_date", "value": "4d", "tagPattern": "^v*", "tagPatternMatches": true}, {"uuid": "da4d0ad7-3c2d-4be8-af63-9c51f9a501bc", "method": "number_of_tags", "value": 10, "tagPattern": null, "tagPatternMatches": true}, {"uuid": "17b9fd96-1537-4462-a830-7f53b43f94c2", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}]}{"policies": [{"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0", "method": "creation_date", "value": "4d", "tagPattern": "^v*", "tagPatternMatches": true}, {"uuid": "da4d0ad7-3c2d-4be8-af63-9c51f9a501bc", "method": "number_of_tags", "value": 10, "tagPattern": null, "tagPatternMatches": true}, {"uuid": "17b9fd96-1537-4462-a830-7f53b43f94c2", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、組織の自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/73d64f05-d587-42d9-af6d-e726a4a80d6e
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/73d64f05-d587-42d9-af6d-e726a4a80d6eCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.12.2. API を使用した現行ユーザーの namespace の自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントを使用して、自分のアカウントの自動プルーニングポリシーを管理できます。
以下のコマンドで使用している /user/ は、現在 Red Hat Quay にログインしているユーザーを表しています。
前提条件
- OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
手順
次の
POSTコマンドを入力して、現在のユーザーのタグ数を制限する新しいポリシーを作成します。curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/user/autoprunepolicy/$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags", "value": 10}' http://<quay-server.example.com>/api/v1/user/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、UUID を含めることもできます。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}{"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.12.3. Red Hat Quay API を使用したリポジトリーの自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay API エンドポイントを使用して、リポジトリーの自動プルーニングポリシーを管理できます。
前提条件
- OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
手順
次の
POST /api/v1/repository/{repository}/autoprunepolicy/コマンドを入力して、組織で許可されるタグの数を制限する新しいポリシーを作成します。curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、タグの作成日から指定期間が経過すると期限切れになるようにタグを設定することもできます。
curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "creation_date", "value": "7d"}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "creation_date", "value": "7d"}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
tagPatternMatchesをFalseに設定すると、指定された正規表現パターンに 一致しない すべてのタグがプルーニングされます。この例では、^test.以外 のすべてのタグがプルーニングされます。
出力例
{"uuid": "b53d8d3f-2e73-40e7-96ff-736d372cd5ef"}{"uuid": "b53d8d3f-2e73-40e7-96ff-736d372cd5ef"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}コマンドを使用して UUID を渡すことで、リポジトリーのポリシーを更新できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは出力を返しません。次の手順に進み、自動プルーニングポリシーを確認します。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、UUID を含めることもできます。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}{"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.12.4. API を使用するユーザーのリポジトリーでの自動プルーニングポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーに対する admin 権限がある限り、Red Hat Quay API エンドポイントを使用して、自分以外のユーザーアカウントのリポジトリーに対する自動プルーニングポリシーを管理できます。
前提条件
- OAuth アクセストークンを作成している。
- Red Hat Quay にログインしている。
-
ポリシーを作成するリポジトリーの
admin権限がある。
手順
次の
POST /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/コマンドを入力して、ユーザーのタグの数を制限する新しいポリシーを作成します。curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/$ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 現在のユーザーに対してポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}{"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUT /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>コマンドを使用して、現在のユーザーのポリシーを更新できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーを更新しても、CLI に出力は返されません。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、UUID を含めることもできます。
curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}{"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。
curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>
$ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow