15.2. Red Hat Quay UI を使用した自動プルーニングポリシーの管理


自動プルーニングポリシーは、Red Hat Quay v2 UI を使用して作成されます。これは、自動プルーニング機能と v2 UI を有効にするように Red Hat Quay の config.yaml ファイルを設定した後に実行できます。

注記

この機能は、Red Hat Quay レガシー UI を使用している場合には使用できません。

15.2.1. Red Hat Quay 自動プルーニング機能の設定

自動プルーニング機能を有効にするには、以下の手順に従って Red Hat Quay config.yaml ファイルを設定します。

前提条件

  • config.yaml ファイルで FEATURE_UI_V2true に設定している。

手順

  • Red Hat Quay の config.yaml ファイルに、FEATURE_AUTO_PRUNE 環境変数を追加して True に設定します。以下に例を示します。

    # ...
    FEATURE_AUTO_PRUNE: true
    # ...
    Copy to Clipboard Toggle word wrap

15.2.2. Red Hat Quay v2 UI を使用した名前空間の自動プルーニングポリシーの作成

Red Hat Quay v2 UI を使用して名前空間の自動プルーニングポリシーを作成するには、次の手順に従います。

前提条件

  • FEATURE_AUTO_PRUNE 機能を有効にしている。

手順

  1. 自動プルーニングが有効なリポジトリーにプッシュする 4 つのサンプルイメージ (busybox など) にタグを付けます。以下に例を示します。

    $ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test
    Copy to Clipboard Toggle word wrap
    $ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test2
    Copy to Clipboard Toggle word wrap
    $ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test3
    Copy to Clipboard Toggle word wrap
    $ podman tag docker.io/library/busybox <quay-server.example.com>/<quayadmin>/busybox:test4
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、4 つのサンプルイメージ (busybox など) を自動プルーニングが有効なリポジトリーにプッシュします。

    $ podman push <quay-server.example.com>/quayadmin/busybox:test
    Copy to Clipboard Toggle word wrap
    $ podman push <quay-server.example.com>/<quayadmin>/busybox:test2
    Copy to Clipboard Toggle word wrap
    $ podman push <quay-server.example.com>/<quayadmin>/busybox:test3
    Copy to Clipboard Toggle word wrap
    $ podman push <quay-server.example.com>/<quayadmin>/busybox:test4
    Copy to Clipboard Toggle word wrap
  3. リポジトリーに 4 つのタグがあることを確認します。
  4. Red Hat Quay v2 UI で、ナビゲーションペインの Organizations をクリックします。
  5. 自動プルーニング機能を適用する組織の名前を選択します (例: test_organization)。
  6. Settings をクリックします。
  7. Auto-Prune Policies をクリックします。以下に例を示します。

    Auto-Prune Policies page

  8. ドロップダウンメニューをクリックして、目的のポリシー (By number of tags など) を選択します。
  9. 保持するタグの数を選択します。デフォルトでは、これは 20 タグに設定されています。この例では、保持するタグの数は 3 に設定されています。
  10. Save をクリックします。自動プルーニングポリシーが更新されたという通知が表示されます。

検証

  • 組織のリポジトリーの Tags ページに移動します。この例では、タグは最も古い作成日から削除対象としてマークされます。数分後、自動プルーナーワーカーが、設定した基準に適合しないタグを削除します。この例では、busybox:test タグを削除し、busybox:test2 タグ、busybox:test3 タグ、および busybox:test4 タグを保持します。

    タグは自動的にプルーニングされると、Red Hat Quay タイムマシン期間に移行します。この期間は、タグが削除されてからガベージコレクションが行われるまでの、タグにアクセスできる期間を指します。イメージタグの有効期限は、組織の設定によって異なります。詳細は、Red Hat Quay ガベージコレクション を参照してください。

15.2.3. Red Hat Quay API を使用した名前空間の自動プルーニングポリシーの作成

Red Hat Quay API エンドポイントを使用して、名前空間の自動プルーニングポリシーを管理できます。

前提条件

  • OAuth アクセストークンを作成している。
  • Red Hat Quay にログインしている。

手順

  1. 次の 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/organization/<organization_name>/autoprunepolicy/
    Copy to Clipboard Toggle word wrap

    または、タグの作成日から指定期間が経過すると期限切れになるようにタグを設定することもできます。

    $ 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 Toggle word wrap

    出力例

    {"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}
    Copy to Clipboard Toggle word wrap

    重複したポリシーを作成しようとすると、次のエラーが返されます。

    {"detail": "Policy for this namespace already exists, delete existing to create new policy", "error_message": "Policy for this namespace already exists, delete existing to create new policy", "error_type": "invalid_request", "title": "invalid_request", "type": "http://<quay-server.example.com>/api/v1/error/invalid_request", "status": 400}
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、自動プルーニングポリシーを確認します。

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/
    Copy to Clipboard Toggle word wrap

    出力例

    {"policies": [{"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e", "method": "creation_date", "value": "7d"}]}
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには 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
    Copy to Clipboard Toggle word wrap

15.2.4. API を使用した現行ユーザーの名前空間の自動プルーニングポリシーの作成

Red Hat Quay API エンドポイントを使用して、自分のアカウントの自動プルーニングポリシーを管理できます。

注記

以下のコマンドで使用している /user/ は、現在 Red Hat Quay にログインしているユーザーを表しています。

前提条件

  • OAuth アクセストークンを作成している。
  • Red Hat Quay にログインしている。

手順

  1. 次の 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/
    Copy to Clipboard Toggle word wrap

    出力例

    {"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを入力して、自動プルーニングポリシーを確認します。

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/<user>/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
    Copy to Clipboard Toggle word wrap

    または、UUID を含めることもできます。

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/<user>/autoprunepolicy/
    Copy to Clipboard Toggle word wrap

    出力例

    {"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。

    $ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/<user>/autoprunepolicy/8c03f995-ca6f-4928-b98d-d75ed8c14859
    Copy to Clipboard Toggle word wrap

    出力例

    {"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
    Copy to Clipboard Toggle word wrap

15.2.5. Red Hat Quay v2 UI を使用したリポジトリーの自動プルーニングポリシーの作成

以下の手順に従って、Red Hat Quay v2 UI を使用してリポジトリーの自動プルーニングポリシーを作成します。

前提条件

  • FEATURE_AUTO_PRUNE 機能を有効にしている。

手順

  1. 自動プルーニングが有効なリポジトリーにプッシュする 4 つのサンプルイメージ (busybox など) にタグを付けます。以下に例を示します。

    $ podman tag docker.io/library/busybox <quay-server.example.com>/<organization_name>/<repository_name>:test
    Copy to Clipboard Toggle word wrap
    $ podman tag docker.io/library/busybox <quay-server.example.com>/<organization_name>/<repository_name>:test2
    Copy to Clipboard Toggle word wrap
    $ podman tag docker.io/library/busybox <quay-server.example.com>/<organization_name>/<repository_name>:test3
    Copy to Clipboard Toggle word wrap
    $ podman tag docker.io/library/busybox <quay-server.example.com>/<organization_name>/<repository_name>:test4
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、4 つのサンプルイメージ (busybox など) を自動プルーニングが有効なリポジトリーにプッシュします。

    $ podman push <quay-server.example.com>/<organization_name>/<repository_name>:test
    Copy to Clipboard Toggle word wrap
    $ podman push <quay-server.example.com>/<organization_name>/<repository_name>:test2
    Copy to Clipboard Toggle word wrap
    $ podman push <quay-server.example.com>/<organization_name>/<repository_name>:test3
    Copy to Clipboard Toggle word wrap
    $ podman push <quay-server.example.com>/<organization_name>/<repository_name>:test4
    Copy to Clipboard Toggle word wrap
  3. リポジトリーに 4 つのタグがあることを確認します。
  4. Red Hat Quay v2 UI のナビゲーションペインで Repository をクリックします。
  5. 自動プルーニング機能を適用する組織の名前を選択します (例: <organization_name>/<repository_name>)。
  6. Settings をクリックします。
  7. Repository Auto-Prune Policies をクリックします。
  8. ドロップダウンメニューをクリックして、目的のポリシー (By number of tags など) を選択します。
  9. 保持するタグの数を選択します。デフォルトでは、これは 20 タグに設定されています。この例では、保持するタグの数は 3 に設定されています。
  10. Save をクリックします。自動プルーニングポリシーが更新されたという通知が表示されます。

検証

  • 組織のリポジトリーの Tags ページに移動します。この例では、タグは最も古い作成日から削除対象としてマークされます。数分後、自動プルーナーワーカーが、設定した基準に適合しないタグを削除します。この例では、busybox:test タグを削除し、busybox:test2 タグ、busybox:test3 タグ、および busybox:test4 タグを保持します。

    タグは自動的にプルーニングされると、Red Hat Quay タイムマシン期間に移行します。この期間は、タグが削除されてからガベージコレクションが行われるまでの、タグにアクセスできる期間を指します。イメージタグの有効期限は、組織の設定によって異なります。詳細は、Red Hat Quay ガベージコレクション を参照してください。

15.2.6. Red Hat Quay API を使用したリポジトリーの自動プルーニングポリシーの作成

Red Hat Quay API エンドポイントを使用して、リポジトリーの自動プルーニングポリシーを管理できます。

前提条件

  • OAuth アクセストークンを作成している。
  • Red Hat Quay にログインしている。

手順

  1. 次の POST コマンドを入力して、組織内で許可するタグの数を制限する新しいポリシーを作成します。

    $ 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 Toggle word wrap

    または、タグの作成日から指定期間が経過すると期限切れになるようにタグを設定することもできます。

    $ 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 Toggle word wrap

    出力例

    {"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}
    Copy to Clipboard Toggle word wrap

    重複したポリシーを作成しようとすると、次のエラーが返されます。

    {"detail": "Policy for this namespace already exists, delete existing to create new policy", "error_message": "Policy for this namespace already exists, delete existing to create new policy", "error_type": "invalid_request", "title": "invalid_request", "type": "http://quay-server.example.com/api/v1/error/invalid_request", "status": 400}
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、自動プルーニングポリシーを確認します。

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<organization_name>/<repository_name>/autoprunepolicy/
    Copy to Clipboard Toggle word wrap

    または、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
    Copy to Clipboard Toggle word wrap

    出力例

    {"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには 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
    Copy to Clipboard Toggle word wrap

    出力例

    {"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}
    Copy to Clipboard Toggle word wrap

15.2.7. API を使用するユーザーのリポジトリーでの自動プルーニングポリシーの作成

リポジトリーに対する admin 権限がある限り、Red Hat Quay API エンドポイントを使用して、自分以外のユーザーアカウントのリポジトリーに対する自動プルーニングポリシーを管理できます。

前提条件

  • OAuth アクセストークンを作成している。
  • Red Hat Quay にログインしている。
  • ポリシーを作成するリポジトリーの admin 権限がある。

手順

  1. 次の POST コマンドを入力して、現在のユーザーのタグ数を制限する新しいポリシーを作成します。

    $ 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/<user_account>/<user_repository>/autoprunepolicy/
    Copy to Clipboard Toggle word wrap

    出力例

    {"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを入力して、自動プルーニングポリシーを確認します。

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/
    Copy to Clipboard Toggle word wrap

    または、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
    Copy to Clipboard Toggle word wrap

    出力例

    {"policies": [{"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7", "method": "number_of_tags", "value": 2}]}
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを入力すると、自動プルーニングポリシーを削除できます。ポリシーを削除するには UUID が必要であることに注意してください。

    $ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/user/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7
    Copy to Clipboard Toggle word wrap

    出力例

    {"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat