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": "creation_date", "value": "7d"}' http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/出力例
{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}オプション: ポリシーを追加し、
tagPatternフィールドとtagPatternMatchesフィールドを渡して、指定された正規表現パターンに一致するタグのみをプルーニングできます。以下に例を示します。$ curl -X POST \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{ "method": "<creation_date>", "value": "<7d>", "tagPattern": "<^test.>*", "tagPatternMatches": <false>1 }' \ "https://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/"- 1
tagPatternMatchesをFalseに設定すると、指定された正規表現パターンに 一致しない すべてのタグがプルーニングされます。この例では、^test.以外 のすべてのタグがプルーニングされます。出力例
{"uuid": "b53d8d3f-2e73-40e7-96ff-736d372cd5ef"}
PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}コマンドを使用して UUID を渡すことで、リポジトリーのポリシーを更新できます。以下に例を示します。$ curl -X PUT \ -H "Authorization: Bearer <bearer_token>" \ -H "Content-Type: application/json" \ -d '{ "method": "number_of_tags", "value": "5", "tagPattern": "^test.*", "tagPatternMatches": true }' \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repo_name>/autoprunepolicy/<uuid>"このコマンドは出力を返しません。次の手順に進み、自動プルーニングポリシーを確認します。
次のコマンドを入力して、自動プルーニングポリシーを確認します。
$ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/または、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出力例
{"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには 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出力例
{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}