6.9. Red Hat Quay API を使用したクォータの確立


組織またはユーザーのクォータを設定し、レジストリーのニーズに合わせてクォータポリシーをカスタマイズできます。

次のセクションでは、組織とユーザーのクォータを設定する方法と、それらの設定を変更する方法を説明します。

6.9.1. Red Hat Quay API を使用した組織のクォータの管理

組織を初めて作成した時点では、クォータは設定されていません。API を使用して、組織のクォータ制限を確認、作成、変更、または削除できます。

前提条件

  • OAuth アクセストークンを生成した。

手順

  1. 組織のクォータを設定するには、POST /api/v1/organization/{orgname}/quota エンドポイントを使用します。

    $ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota" \
         -H "Authorization: Bearer <access_token>" \
         -H "Content-Type: application/json" \
         -d '{
             "limit_bytes": 10737418240,
             "limits": "10 Gi"
         }'

    出力例

    "Created"

  2. GET /api/v1/organization/{orgname}/quota コマンドを使用して、他の組織のクォータエンドポイントに必要なポリシーに関する情報 (ID 番号など) を返します。以下に例を示します。

    $ curl -k -X GET -H "Authorization: Bearer <token>" -H 'Content-Type: application/json'  https://example-registry-quay-quay-enterprise.apps.docs.gcp.quaydev.org/api/v1/organization/testorg/quota  | jq

    出力例

    [{"id": 1, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}]

    ID 番号を取得したら、GET /api/v1/organization/{orgname}/quota/{quota_id} コマンドを使用してクォータポリシーをリスト表示できます。以下に例を示します。

    $ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
         -H "Authorization: Bearer <access_token>"

    出力例

    {"id": 1, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}

  3. 既存のクォータ制限を変更するには、PUT /api/v1/organization/{orgname}/quota/{quota_id} コマンドを使用します。その場合はポリシー ID が必要であることに注意してください。以下に例を示します。

    $ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
         -H "Authorization: Bearer <access_token>" \
         -H "Content-Type: application/json" \
         -d '{
             "limit_bytes": <limit_in_bytes>
         }'

    出力例

    {"id": 1, "limit_bytes": 21474836480, "limit": "20.0 GiB", "default_config": false, "limits": [], "default_config_exists": false}

  4. 組織のクォータを削除するには、DELETE /api/v1/organization/{orgname}/quota/{quota_id} コマンドを使用します。以下に例を示します。

    $ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>" \
         -H "Authorization: Bearer <access_token>"

    このコマンドは出力を返しません。

6.9.2. Red Hat Quay API を使用して組織のクォータ制限を設定する

組織に対して特定のクォータ制限を設定すると、それを超過した場合に警告が返されるか、プッシュされたイメージが完全に拒否されるようになります。

手順

  1. POST /api/v1/organization/{orgname}/quota/{quota_id}/limit コマンドを使用して、割り当てられたクォータを超えた場合にイメージを拒否するクォータポリシーを作成します。以下に例を示します。

    $ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \
         -H "Authorization: Bearer <access_token>" \
         -H "Content-Type: application/json" \
         -d '{
               "limit_bytes": 21474836480,
               "type": "Reject", 1
               "threshold_percent": 90 2
             }'
    1
    Reject または Warning のいずれか。
    2
    クォータのしきい値 (クォータに対するパーセント単位の割合)

    出力例

    "Created"

  2. GET /api/v1/organization/{orgname}/quota/{quota_id}/limit を使用して、クォータ制限の ID を取得します。以下に例を示します。

    $ curl -X GET "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit" \
         -H "Authorization: Bearer <access_token>"

    出力例

    [{"id": 2, "type": "Reject", "limit_percent": 90}]

  1. PUT/api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id} エンドポイントを使用して、ポリシーを更新します。以下に例を示します。

    $ curl -X PUT "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
         -H "Authorization: Bearer <access_token>" \
         -H "Content-Type: application/json" \
         -d '{
               "type": "<type>",
               "threshold_percent": <threshold_percent>
             }'

    出力例

    {"id": 3, "limit_bytes": 10737418240, "limit": "10.0 GiB", "default_config": false, "limits": [{"id": 2, "type": "Warning", "limit_percent": 80}], "default_config_exists": false}

  2. DELETE/api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id} エンドポイントを使用して、クォータ制限を削除できます。

    $ curl -X DELETE "https://<quay-server.example.com>/api/v1/organization/<orgname>/quota/<quota_id>/limit/<limit_id>" \
         -H "Authorization: Bearer <access_token>"

    このコマンドは出力を返しません。

6.9.3. Red Hat Quay API を使用してユーザーのクォータ制限を取得する

ユーザーに対してクォータと制限を指定して、それを超過した場合に警告が返されるか、プッシュされたイメージが完全に拒否されるようにできます。ユーザーのクォータ制限は、Red Hat Quay UI で設定する必要があります。次の API を使用して、ログインしているユーザーのクォータ制限を表示できます。

手順

  1. GET /api/v1/user/quota コマンドを使用して、クォータ制限に関する情報を返します。

    $ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota" \
      -H "Authorization: Bearer <access_token>"

    出力例

    [{"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [], "default_config_exists": false}]

  2. クォータ ID を受け取ったら、GET /api/v1/user/quota/{quota_id} エンドポイントでそれを渡し、制限に関する情報を返すことができます。

    $ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}" \
      -H "Authorization: Bearer <access_token>"

    出力例

    {"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [], "default_config_exists": false}

  3. 制限は、GET /api/v1/user/quota/{quota_id}/limit エンドポイントを使用して確認できます。以下に例を示します。

    $ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit" \
      -H "Authorization: Bearer <access_token>"

    出力例

    [{"id": 3, "type": "Reject", "limit_percent": 100}]

  4. GET /api/v1/user/quota/{quota_id}/limit/{limit_id} エンドポイントを使用して、ポリシー全体に関する追加情報を返すことができます。

    $ curl -X GET "https://<quay-server.example.com>/api/v1/user/quota/{quota_id}/limit/{limit_id}" \
      -H "Authorization: Bearer <access_token>"

    出力例

    {"id": 4, "limit_bytes": 2199023255552, "limit": "2.0 TiB", "default_config": false, "limits": [{"id": 3, "type": "Reject", "limit_percent": 100}], "default_config_exists": false}

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.