diff --git a/master/api/index.html b/master/api/index.html index ad812a4bf..a52db09ee 100644 --- a/master/api/index.html +++ b/master/api/index.html @@ -1,8 +1,8 @@ -Red Hat Quay API guide
Red Hat Quay 3.13

Red Hat Quay API guide

Red Hat Quay API Guide

Red Hat OpenShift Documentation Team

Abstract

+Red Hat Quay API guide
Red Hat Quay 3.13

Red Hat Quay API guide

Red Hat Quay API Guide

Red Hat OpenShift Documentation Team

Abstract

Use the Red Hat Quay API -

Preface

+


Preface

The Red Hat Quay application programming interface (API) provides a comprehensive, RESTful interface for managing and automating tasks within Red Hat Quay. Designed around the OAuth 2.0 protocol, this API enables secure, fine-grained access to Red Hat Quay resources, and allows administrators and users to perform such actions as creating repositories, managing images, setting permissions, and more.

Red Hat Quay follows Semantic Versioning (SemVer) principles, ensuring predictable API stability across releases, such as: @@ -489,63 +489,63 @@ You have created an OAuth 2 access token.

Procedure

  • You can obtain error details of the API by entering the GET /api/v1/error/{error_type} endpoint. Note that you must include one of the following error codes: -

    HTTP CodeDescriptionSchema
    +

    HTTP CodeDescriptionSchema

    200

    -
    +

    Successful invocation

    -
    +

    ApiErrorDescription

    -
    +

    400

    -
    +

    Bad Request

    -
    +

    ApiError

    -
    +

    401

    -
    +

    Session required

    -
    +

    ApiError

    -
    +

    403

    -
    +

    Unauthorized access

    -
    +

    ApiError

    -
    +

    404

    -
    +

    Not found

    -
    +

    ApiError

    @@ -1107,7 +1107,190 @@ -H "Authorization: Bearer <access_token>" \ "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"

    This command does not return output in the CLI. -

    6.11.3. Managing team members and repository permissions by using the API

    +

    6.12. Managing auto-prune policies by using the Red Hat Quay API

    + Auto-prune policies can be created, retrieved, changed, and delete for organizations, repositories, and users by using the Red Hat Quay API. +

    6.12.1. Creating an auto-prune policy for a namespace by using the Red Hat Quay API

    + You can use Red Hat Quay API endpoints to manage auto-pruning policies for an namespace. +

    Prerequisites

    • + You have set BROWSER_API_CALLS_XHR_ONLY: false in your config.yaml file. +
    • + You have created an OAuth access token. +
    • + You have logged into Red Hat Quay. +

    Procedure

    1. + Enter the following POST /api/v1/organization/{orgname}/autoprunepolicy/ command create a new policy that limits the number of tags allowed in an organization: +

      $ 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/

      + Alternatively, you can can set tags to expire for a specified time after their creation date: +

      $ 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/

      Example output

      + +

      {"uuid": "73d64f05-d587-42d9-af6d-e726a4a80d6e"}
      +

    2. + Optional. You can add an additional policy to an organization and pass in the tagPattern and tagPatternMatches fields to prune only tags that match the given regex pattern. For example: +

      $ curl -X POST \
      +  -H "Authorization: Bearer <bearer_token>" \
      +  -H "Content-Type: application/json" \
      +  -d '{
      +    "method": "creation_date",
      +    "value": "7d",
      +    "tagPattern": "^v*",
      +    "tagPatternMatches": <true> 1
      +  }' \
      +  "https://<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/"
      1
      + Setting tagPatternMatches to true makes it so that tags that match the given regex pattern will be pruned. In this example, tags that match ^v* are pruned. +

      Example output

      + +

      {"uuid": "ebf7448b-93c3-4f14-bf2f-25aa6857c7b0"}
      +

    3. + You can update your organization’s auto-prune policy by using the PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid} command. For example: +

      $ curl -X PUT   -H "Authorization: Bearer <bearer_token>"   -H "Content-Type: application/json"   -d '{
      +    "method": "creation_date",
      +    "value": "4d",
      +    "tagPattern": "^v*",
      +    "tagPatternMatches": true
      +  }'   "<quay-server.example.com>/api/v1/organization/<organization_name>/autoprunepolicy/<uuid>"

      + This command does not return output. Continue to the next step. +

    4. + Check your auto-prune policy by entering the following command: +

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

      Example output

      + +

      {"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}]}
      +

    5. + You can delete the auto-prune policy for your organization by entering the following command. Note that deleting the policy requires the 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

    6.12.2. Creating an auto-prune policy for a namespace for the current user by using the API

    + You can use Red Hat Quay API endpoints to manage auto-pruning policies for your account. +

    Note

    + The use of /user/ in the following commands represents the user that is currently logged into Red Hat Quay. +

    Prerequisites

    • + You have set BROWSER_API_CALLS_XHR_ONLY: false in your config.yaml file. +
    • + You have created an OAuth access token. +
    • + You have logged into Red Hat Quay. +

    Procedure

    1. + Enter the following POST command create a new policy that limits the number of tags for the current user: +

      $ 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/

      Example output

      + +

      {"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
      +

    2. + Check your auto-prune policy by entering the following command: +

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

      + Alternatively, you can include the UUID: +

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

      Example output

      + +

      {"policies": [{"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859", "method": "number_of_tags", "value": 10}]}
      +

    3. + You can delete the auto-prune policy by entering the following command. Note that deleting the policy requires the UUID. +

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

      Example output

      + +

      {"uuid": "8c03f995-ca6f-4928-b98d-d75ed8c14859"}
      +

    6.12.3. Creating an auto-prune policy for a repository using the Red Hat Quay API

    + You can use Red Hat Quay API endpoints to manage auto-pruning policies for an repository. +

    Prerequisites

    • + You have set BROWSER_API_CALLS_XHR_ONLY: false in your config.yaml file. +
    • + You have created an OAuth access token. +
    • + You have logged into Red Hat Quay. +

    Procedure

    1. + Enter the following POST /api/v1/repository/{repository}/autoprunepolicy/ command create a new policy that limits the number of tags allowed in an organization: +

      $ 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/

      + Alternatively, you can can set tags to expire for a specified time after their creation date: +

      $ 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/

      Example output

      + +

      {"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}
      +

    2. + Optional. You can add an additional policy and pass in the tagPattern and tagPatternMatches fields to prune only tags that match the given regex pattern. For example: +

      $ 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
      + Setting tagPatternMatches to false makes it so that tags that all tags that do not match the given regex pattern are pruned. In this example, all tags but ^test. are pruned. +

      Example output

      + +

      {"uuid": "b53d8d3f-2e73-40e7-96ff-736d372cd5ef"}
      +

    3. + You can update your policy for the repository by using the PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid} command and passing in the UUID. For example: +

      $ 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>"

      + This command does not return output. Continue to the next step to check your auto-prune policy. +

    4. + Check your auto-prune policy by entering the following command: +

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

      + Alternatively, you can include the 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

      Example output

      + +

      {"policies": [{"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7", "method": "number_of_tags", "value": 10}]}
      +

    5. + You can delete the auto-prune policy by entering the following command. Note that deleting the policy requires the 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

      Example output

      + +

      {"uuid": "ce2bdcc0-ced2-4a1a-ac36-78a9c1bed8c7"}
      +

    6.12.4. Creating an auto-prune policy on a repository for a user with the API

    + You can use Red Hat Quay API endpoints to manage auto-pruning policies on a repository for user accounts that are not your own, so long as you have admin privileges on the repository. +

    Prerequisites

    • + You have set BROWSER_API_CALLS_XHR_ONLY: false in your config.yaml file. +
    • + You have created an OAuth access token. +
    • + You have logged into Red Hat Quay. +
    • + You have admin privileges on the repository that you are creating the policy for. +

    Procedure

    1. + Enter the following POST /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/ command create a new policy that limits the number of tags for the user: +

      $ 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/

      Example output

      + +

      {"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}
      +

    2. + Optional. You can add an additional policy for the current user and pass in the tagPattern and tagPatternMatches fields to prune only tags that match the given regex pattern. For example: +

      $ curl -X POST \
      +  -H "Authorization: Bearer <bearer_token>" \
      +  -H "Content-Type: application/json" \
      +  -d '{
      +    "method": "creation_date",
      +    "value": "7d",
      +    "tagPattern": "^v*",
      +    "tagPatternMatches": true
      +  }' \
      +  "http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/"

      Example output

      + +

      {"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}
      +

    3. + You can update your policy for the current user by using the PUT /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid> command. For example: +

      $ curl -X PUT   -H "Authorization: Bearer <bearer_token>"   -H "Content-Type: application/json"   -d '{
      +    "method": "creation_date",
      +    "value": "4d",
      +    "tagPattern": "^test.",
      +    "tagPatternMatches": true
      +  }'   "https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>"

      + Updating a policy does not return output in the CLI. +

    4. + Check your auto-prune policy by entering the following command: +

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

      + Alternatively, you can include the 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

      Example output

      + +

      {"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}
      +

    5. + You can delete the auto-prune policy by entering the following command. Note that deleting the policy requires the UUID. +

      $ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>

      Example output

      + +

      {"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}
      +

    6.12.5. Managing team members and repository permissions by using the API

    Use the following procedures to add a member to a team (by direct invite or by email), or to remove a member from a team.

    Prerequisites

    • You have Created an OAuth access token. @@ -1145,67 +1328,67 @@ oauth2_implicit

      Scopes

      The following scopes are used to control access to the API endpoints: -

      ScopeDescription
      +

      ScopeDescription

      repo:read

      -
      +

      This application will be able to view and pull all repositories visible to the granting user or robot account

      -
      +

      repo:write

      -
      +

      This application will be able to view, push and pull to all repositories to which the granting user or robot account has write access

      -
      +

      repo:admin

      -
      +

      This application will have administrator access to all repositories to which the granting user or robot account has access

      -
      +

      repo:create

      -
      +

      This application will be able to create repositories in to any namespaces that the granting user or robot account is allowed to create repositories

      -
      +

      user:read

      -
      +

      This application will be able to read user information such as username and email address.

      -
      +

      org:admin

      -
      +

      This application will be able to administer your organizations including creating robots, creating teams, adjusting team membership, and changing billing settings. You should have absolute trust in the requesting application before granting this permission.

      -
      +

      super:user

      -
      +

      This application will be able to administer your installation including managing users, managing organizations and other features found in the superuser panel. You should have absolute trust in the requesting application before granting this permission.

      -
      +

      user:admin

      -
      +

      This application will be able to administer your account including creating robots and granting them permissions to your repositories. You should have absolute trust in the requesting application before granting this permission.

      @@ -1217,71 +1400,71 @@ Authorizations: oauth2_implicit (user:admin)

      Request body schema (application/json)

      Description of a new token. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      title
      required

      -
      +

      Friendly name to help identify the token

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1295,75 +1478,75 @@ Lists the app specific tokens for the user.

      GET /api/v1/user/apptoken

      Authorizations: oauth2_implicit (user:admin) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      expiring
      optional

      -
      +

      If true, only returns those tokens expiring soon

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1373,75 +1556,75 @@ Returns a specific app token for the user.

      GET /api/v1/user/apptoken/{token_uuid}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      token_uuid
      required

      -
      +

      The uuid of the app specific token

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1451,75 +1634,75 @@ Revokes a specific app token for the user.

      DELETE /api/v1/user/apptoken/{token_uuid}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      token_uuid
      required

      -
      +

      The uuid of the app specific token

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1531,91 +1714,91 @@ Return the status for the builds specified by the build uuids.

      GET /api/v1/repository/{repository}/build/{build_uuid}/status

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1623,91 +1806,91 @@ Return the build logs for the build specified by the build uuid.

      GET /api/v1/repository/{repository}/build/{build_uuid}/logs

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1715,91 +1898,91 @@ Returns information about a build.

      GET /api/v1/repository/{repository}/build/{build_uuid}

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1807,91 +1990,91 @@ Cancels a repository build.

      DELETE /api/v1/repository/{repository}/build/{build_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -1899,161 +2082,161 @@ Request that a repository be built and pushed from the specified input.

      POST /api/v1/repository/{repository}/build/

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Description of a new repository build. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      file_id
      optional

      -
      +

      The file id that was generated when the build spec was uploaded

      -
      +

      string

      -
      +

      archive_url
      optional

      -
      +

      The URL of the .tar.gz to build. Must start with "http" or "https".

      -
      +

      string

      -
      +

      subdirectory
      optional

      -
      +

      Subdirectory in which the Dockerfile can be found. You can only specify this or dockerfile_path

      -
      +

      string

      -
      +

      dockerfile_path
      optional

      -
      +

      Path to a dockerfile. You can only specify this or subdirectory.

      -
      +

      string

      -
      +

      context
      optional

      -
      +

      Pass in the context for the dockerfile. This is optional.

      -
      +

      string

      -
      +

      pull_robot
      optional

      -
      +

      Username of a Quay robot account to use as pull credentials

      -
      +

      string

      -
      +

      tags
      optional

      -
      +

      The tags to which the built images will be pushed. If none specified, "latest" is used.

      -
      +

      array of string
      non-empty unique

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2061,107 +2244,107 @@ Get the list of repository builds.

      GET /api/v1/repository/{repository}/build/

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      since
      optional

      -
      +

      Returns all builds since the given unix timecode

      -
      +

      integer

      -
      +

      query

      -
      +

      limit
      optional

      -
      +

      The maximum number of builds to return

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2171,75 +2354,75 @@ List all of the API endpoints available in the swagger API format.

      GET /api/v1/discovery

      Authorizations:  -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      internal
      optional

      -
      +

      Whether to include internal APIs.

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2250,79 +2433,79 @@ Get a detailed description of the error.

      GET /api/v1/error/{error_type}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      error_type
      required

      -
      +

      The error code identifying the type of error.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
      +

      ApiErrorDescription

      -
      +

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2335,71 +2518,71 @@ Authorizations: oauth2_implicit (super:user)

      Request body schema (application/json)

      Create a new message -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      message
      required

      -
      +

      A single message

      -
      +

      object

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2416,59 +2599,59 @@ Return a super users messages.

      GET /api/v1/messages

      Authorizations:  -

      Responses
      HTTP CodeDescriptionSchema
      +

      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2477,71 +2660,71 @@ Delete a message.

      DELETE /api/v1/message/{uuid}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      uuid
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2552,107 +2735,107 @@ Returns the aggregated logs for the current user.

      GET /api/v1/user/aggregatelogs

      Authorizations: oauth2_implicit (user:admin) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      performer
      optional

      -
      +

      Username for which to filter logs.

      -
      +

      string

      -
      +

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2663,117 +2846,117 @@ Returns the aggregated logs for the current user.

      POST /api/v1/user/exportlogs

      Authorizations: oauth2_implicit (user:admin) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      Request body schema (application/json)

      Configuration for an export logs operation -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      callback_url
      optional

      -
      +

      The callback URL to invoke with a link to the exported logs

      -
      +

      string

      -
      +

      callback_email
      optional

      -
      +

      The e-mail address at which to e-mail a link to the exported logs

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2790,123 +2973,123 @@ List the logs for the current user.

      GET /api/v1/user/logs

      Authorizations: oauth2_implicit (user:admin) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      +

      query

      -
      +

      performer
      optional

      -
      +

      Username for which to filter logs.

      -
      +

      string

      -
      +

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -2914,123 +3097,123 @@ Gets the aggregated logs for the specified organization.

      GET /api/v1/organization/{orgname}/aggregatelogs

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      performer
      optional

      -
      +

      Username for which to filter logs.

      -
      +

      string

      -
      +

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3041,133 +3224,133 @@ Exports the logs for the specified organization.

      POST /api/v1/organization/{orgname}/exportlogs

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      Request body schema (application/json)

      Configuration for an export logs operation -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      callback_url
      optional

      -
      +

      The callback URL to invoke with a link to the exported logs

      -
      +

      string

      -
      +

      callback_email
      optional

      -
      +

      The e-mail address at which to e-mail a link to the exported logs

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3184,139 +3367,139 @@ List the logs for the specified organization.

      GET /api/v1/organization/{orgname}/logs

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      +

      query

      -
      +

      performer
      optional

      -
      +

      Username for which to filter logs.

      -
      +

      string

      -
      +

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3327,107 +3510,107 @@ Returns the aggregated logs for the specified repository.

      GET /api/v1/repository/{repository}/aggregatelogs

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3438,133 +3621,133 @@ Queues an export of the logs for the specified repository.

      POST /api/v1/repository/{repository}/exportlogs

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      Request body schema (application/json)

      Configuration for an export logs operation -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      callback_url
      optional

      -
      +

      The callback URL to invoke with a link to the exported logs

      -
      +

      string

      -
      +

      callback_email
      optional

      -
      +

      The e-mail address at which to e-mail a link to the exported logs

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3581,123 +3764,123 @@ List the logs for the specified repository.

      GET /api/v1/repository/{repository}/logs

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      +

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time for logs. Format: "%m/%d/%Y" in UTC.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3710,107 +3893,107 @@ Retrieves the label with the specific ID under the manifest.

      GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      manifestref
      required

      -
      +

      The digest of the manifest

      -
      +

      string

      -
      +

      path

      -
      +

      labelid
      required

      -
      +

      The ID of the label

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3821,107 +4004,107 @@ Deletes an existing label from a manifest.

      DELETE /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      manifestref
      required

      -
      +

      The digest of the manifest

      -
      +

      string

      -
      +

      path

      -
      +

      labelid
      required

      -
      +

      The ID of the label

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -3931,125 +4114,125 @@ Adds a new label into the tag manifest.

      POST /api/v1/repository/{repository}/manifest/{manifestref}/labels

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      manifestref
      required

      -
      +

      The digest of the manifest

      -
      +

      string

      Request body schema (application/json)

      Adds a label to a manifest -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      key
      required

      -
      +

      The key for the label

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value for the label

      -
      +

      string

      -
      +

      media_type
      required

      -
      +

      The media type for this label

      -
       
      Responses
      HTTP CodeDescriptionSchema
      +  
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4063,107 +4246,107 @@ }' \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels

      7.8.4. listManifestLabels

      GET /api/v1/repository/{repository}/manifest/{manifestref}/labels

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      manifestref
      required

      -
      +

      The digest of the manifest

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      filter
      optional

      -
      +

      If specified, only labels matching the given prefix will be returned

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4172,91 +4355,91 @@ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels

      7.8.5. getRepoManifest

      GET /api/v1/repository/{repository}/manifest/{manifestref}

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      manifestref
      required

      -
      +

      The digest of the manifest

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4267,75 +4450,75 @@ Update the sync_status for a given Repository’s mirroring configuration.

      POST /api/v1/repository/{repository}/mirror/sync-cancel

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4343,75 +4526,75 @@ Update the sync_status for a given Repository’s mirroring configuration.

      POST /api/v1/repository/{repository}/mirror/sync-now

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4420,79 +4603,79 @@ Return the Mirror configuration for a given Repository.

      GET /api/v1/repository/{repository}/mirror

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
      +

      ViewMirrorConfig

      -
      +

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4501,173 +4684,173 @@ Allow users to modifying the repository’s mirroring configuration.

      PUT /api/v1/repository/{repository}/mirror

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Update the repository mirroring configuration. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      is_enabled
      optional

      -
      +

      Used to enable or disable synchronizations.

      -
      +

      boolean

      -
      +

      external_reference
      optional

      -
      +

      Location of the external repository.

      -
      +

      string

      -
      +

      external_registry_username
      optional

      -
      +

      Username used to authenticate with external registry.

      -
       
      +  

      external_registry_password
      optional

      -
      +

      Password used to authenticate with external registry.

      -
       
      +  

      sync_start_date
      optional

      -
      +

      Determines the next time this repository is ready for synchronization.

      -
      +

      string

      -
      +

      sync_interval
      optional

      -
      +

      Number of seconds after next_start_date to begin synchronizing.

      -
      +

      integer

      -
      +

      robot_username
      optional

      -
      +

      Username of robot which will be used for image pushes.

      -
      +

      string

      -
      +

      root_rule
      optional

      -
      +

      A list of glob-patterns used to determine which tags should be synchronized.

      -
      +

      object

      -
      +

      external_registry_config
      optional

      -
        +  

      object

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4675,7 +4858,7 @@ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d '{ - "is_enabled": <false>, 1 + "is_enabled": <false>, 1 "external_reference": "<external_reference>", "external_registry_username": "<external_registry_username>", "external_registry_password": "<external_registry_password>", @@ -4686,179 +4869,179 @@ "rule": "<rule>", "rule_type": "<rule_type>" } - }'
      1
      + }'
      1
      Disables automatic synchronization.

      7.9.5. createRepoMirrorConfig

      Create a RepoMirrorConfig for a given Repository.

      POST /api/v1/repository/{repository}/mirror

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Create the repository mirroring configuration. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      is_enabled
      optional

      -
      +

      Used to enable or disable synchronizations.

      -
      +

      boolean

      -
      +

      external_reference
      required

      -
      +

      Location of the external repository.

      -
      +

      string

      -
      +

      external_registry_username
      optional

      -
      +

      Username used to authenticate with external registry.

      -
       
      +  

      external_registry_password
      optional

      -
      +

      Password used to authenticate with external registry.

      -
       
      +  

      sync_start_date
      required

      -
      +

      Determines the next time this repository is ready for synchronization.

      -
      +

      string

      -
      +

      sync_interval
      required

      -
      +

      Number of seconds after next_start_date to begin synchronizing.

      -
      +

      integer

      -
      +

      robot_username
      required

      -
      +

      Username of robot which will be used for image pushes.

      -
      +

      string

      -
      +

      root_rule
      required

      -
      +

      A list of glob-patterns used to determine which tags should be synchronized.

      -
      +

      object

      -
      +

      external_registry_config
      optional

      -
        +  

      object

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -4879,981 +5062,981 @@ } }'

      7.10. namespacequota

      7.10.1. listUserQuota

      GET /api/v1/user/quota

      Authorizations: oauth2_implicit (user:admin) -

      Responses
      HTTP CodeDescriptionSchema
      +

      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.2. getOrganizationQuotaLimit

      GET /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      limit_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.3. changeOrganizationQuotaLimit

      PUT /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      limit_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of changing organization quota limit -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      type
      optional

      -
      +

      Type of quota limit: "Warning" or "Reject"

      -
      +

      string

      -
      +

      threshold_percent
      optional

      -
      +

      Quota threshold, in percent of quota

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.4. deleteOrganizationQuotaLimit

      DELETE /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      limit_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.5. createOrganizationQuotaLimit

      POST /api/v1/organization/{orgname}/quota/{quota_id}/limit

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota limit -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      type
      required

      -
      +

      Type of quota limit: "Warning" or "Reject"

      -
      +

      string

      -
      +

      threshold_percent
      required

      -
      +

      Quota threshold, in percent of quota

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.6. listOrganizationQuotaLimit

      GET /api/v1/organization/{orgname}/quota/{quota_id}/limit

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.7. getUserQuotaLimit

      GET /api/v1/user/quota/{quota_id}/limit/{limit_id}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      limit_id
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.8. listUserQuotaLimit

      GET /api/v1/user/quota/{quota_id}/limit

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.9. getOrganizationQuota

      GET /api/v1/organization/{orgname}/quota/{quota_id}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.10. changeOrganizationQuota

      PUT /api/v1/organization/{orgname}/quota/{quota_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      limit_bytes
      optional

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      +

      limits
      optional

      -
      +

      Human readable storage capacity of the organization. Accepts SI units like Mi, Gi, or Ti, as well as non-standard units like GB or MB. Must be mutually exclusive with limit_bytes.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.11. deleteOrganizationQuota

      DELETE /api/v1/organization/{orgname}/quota/{quota_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -5861,237 +6044,237 @@ Create a new organization quota.

      POST /api/v1/organization/{orgname}/quota

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      limit_bytes
      required

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      +

      limits
      optional

      -
      +

      Human readable storage capacity of the organization. Accepts SI units like Mi, Gi, or Ti, as well as non-standard units like GB or MB. Must be mutually exclusive with limit_bytes.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.13. listOrganizationQuota

      GET /api/v1/organization/{orgname}/quota

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.10.14. getUserQuota

      GET /api/v1/user/quota/{quota_id}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6103,95 +6286,95 @@ Authorizations: oauth2_implicit (user:admin)

      Request body schema (application/json)

      Description of a new organization. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      name
      required

      -
      +

      Organization username

      -
      +

      string

      -
      +

      email
      optional

      -
      +

      Organization contact email

      -
      +

      string

      -
      +

      recaptcha_response
      optional

      -
      +

      The (may be disabled) recaptcha response code for verification

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6199,85 +6382,85 @@ "name": "<new_organization_name>" }' "https://<quay-server.example.com>/api/v1/organization/"

      7.11.2. validateProxyCacheConfig

      POST /api/v1/organization/{orgname}/validateproxycache

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
        +  

      string

      Request body schema (application/json)

      Proxy cache configuration for an organization -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      upstream_registry
      required

      -
      +

      Name of the upstream registry that is to be cached

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      202

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6285,75 +6468,75 @@ List outside collaborators of the specified organization.

      GET /api/v1/organization/{orgname}/collaborators

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6361,91 +6544,91 @@ Retrieves the application with the specified client_id under the specified organization.

      GET /api/v1/organization/{orgname}/applications/{client_id}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      client_id
      required

      -
      +

      The OAuth client ID

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6453,153 +6636,153 @@ Updates an application under this organization.

      PUT /api/v1/organization/{orgname}/applications/{client_id}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      client_id
      required

      -
      +

      The OAuth client ID

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Description of an updated application. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      name
      required

      -
      +

      The name of the application

      -
      +

      string

      -
      +

      redirect_uri
      required

      -
      +

      The URI for the application’s OAuth redirect

      -
      +

      string

      -
      +

      application_uri
      required

      -
      +

      The URI for the application’s homepage

      -
      +

      string

      -
      +

      description
      optional

      -
      +

      The human-readable description for the application

      -
      +

      string

      -
      +

      avatar_email
      optional

      -
      +

      The e-mail address of the avatar to use for the application

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6607,91 +6790,91 @@ Deletes the application under this organization.

      DELETE /api/v1/organization/{orgname}/applications/{client_id}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      client_id
      required

      -
      +

      The OAuth client ID

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6699,137 +6882,137 @@ Creates a new application under this organization.

      POST /api/v1/organization/{orgname}/applications

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Description of a new organization application. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      name
      required

      -
      +

      The name of the application

      -
      +

      string

      -
      +

      redirect_uri
      optional

      -
      +

      The URI for the application’s OAuth redirect

      -
      +

      string

      -
      +

      application_uri
      optional

      -
      +

      The URI for the application’s homepage

      -
      +

      string

      -
      +

      description
      optional

      -
      +

      The human-readable description for the application

      -
      +

      string

      -
      +

      avatar_email
      optional

      -
      +

      The e-mail address of the avatar to use for the application

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6837,75 +7020,75 @@ List the applications for the specified organization.

      GET /api/v1/organization/{orgname}/applications

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6913,75 +7096,75 @@ Retrieves the proxy cache configuration of the organization.

      GET /api/v1/organization/{orgname}/proxycache

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -6989,75 +7172,75 @@ Delete proxy cache configuration for the organization.

      DELETE /api/v1/organization/{orgname}/proxycache

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7065,89 +7248,89 @@ Creates proxy cache configuration for the organization.

      POST /api/v1/organization/{orgname}/proxycache

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Proxy cache configuration for an organization -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      upstream_registry
      required

      -
      +

      Name of the upstream registry that is to be cached

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7155,91 +7338,91 @@ Retrieves the details of a member of the organization.

      GET /api/v1/organization/{orgname}/members/{membername}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      membername
      required

      -
      +

      The username of the organization member

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7247,91 +7430,91 @@ Removes a member from an organization, revoking all its repository priviledges and removing it from all teams in the organization.

      DELETE /api/v1/organization/{orgname}/members/{membername}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      membername
      required

      -
      +

      The username of the organization member

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7339,75 +7522,75 @@ List the human members of the specified organization.

      GET /api/v1/organization/{orgname}/members

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7415,75 +7598,75 @@ Get the details for the specified organization.

      GET /api/v1/organization/{orgname}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7493,121 +7676,121 @@ Change the details for the specified organization.

      PUT /api/v1/organization/{orgname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Description of updates for an existing organization -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      email
      optional

      -
      +

      Organization contact email

      -
      +

      string

      -
      +

      invoice_email
      optional

      -
      +

      Whether the organization desires to receive emails for invoices

      -
      +

      boolean

      -
      +

      invoice_email_address
      optional

      -
      +

      The email address at which to receive invoices

      -
       
      +  

      tag_expiration_s
      optional

      -
      +

      The number of seconds for tag expiration

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7615,75 +7798,75 @@ Deletes the specified organization.

      DELETE /api/v1/organization/{orgname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7693,75 +7876,75 @@ Get information on the specified application.

      GET /api/v1/app/{client_id}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      client_id
      required

      -
      +

      The OAuth client ID

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7771,91 +7954,91 @@ Get the fetch the permission for the specified user.

      GET /api/v1/repository/{repository}/permissions/user/{username}/transitive

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      username
      required

      -
      +

      The username of the user to which the permissions apply

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7863,91 +8046,91 @@ Get the permission for the specified user.

      GET /api/v1/repository/{repository}/permissions/user/{username}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      username
      required

      -
      +

      The username of the user to which the permission applies

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -7955,105 +8138,105 @@ Update the perimssions for an existing repository.

      PUT /api/v1/repository/{repository}/permissions/user/{username}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      username
      required

      -
      +

      The username of the user to which the permission applies

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Description of a user permission. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      role
      required

      -
      +

      Role to use for the user

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8065,91 +8248,91 @@ Delete the permission for the user.

      DELETE /api/v1/repository/{repository}/permissions/user/{username}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      username
      required

      -
      +

      The username of the user to which the permission applies

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8160,91 +8343,91 @@ Fetch the permission for the specified team.

      GET /api/v1/repository/{repository}/permissions/team/{teamname}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team to which the permission applies

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8252,105 +8435,105 @@ Update the existing team permission.

      PUT /api/v1/repository/{repository}/permissions/team/{teamname}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team to which the permission applies

      -
      +

      string

      Request body schema (application/json)

      Description of a team permission. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      role
      required

      -
      +

      Role to use for the team

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8358,91 +8541,91 @@ Delete the permission for the specified team.

      DELETE /api/v1/repository/{repository}/permissions/team/{teamname}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team to which the permission applies

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8450,75 +8633,75 @@ List all team permission.

      GET /api/v1/repository/{repository}/permissions/team/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8526,75 +8709,75 @@ List all user permissions.

      GET /api/v1/repository/{repository}/permissions/user/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8605,121 +8788,121 @@ Creates an auto-prune policy for the organization

      POST /api/v1/organization/{orgname}/autoprunepolicy/

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      The policy configuration that is to be applied to the user namespace -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      method
      required

      -
      +

      The method to use for pruning tags (number_of_tags, creation_date)

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

      -
       
      +  

      tagPattern
      optional

      -
      +

      Tags only matching this pattern will be pruned

      -
      +

      string

      -
      +

      tagPatternMatches
      optional

      -
      +

      Determine whether pruned tags should or should not match the tagPattern

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8727,75 +8910,75 @@ Lists the auto-prune policies for the organization

      GET /api/v1/organization/{orgname}/autoprunepolicy/

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8803,91 +8986,91 @@ Fetches the auto-prune policy for the organization

      GET /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8895,91 +9078,91 @@ Deletes the auto-prune policy for the organization

      DELETE /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -8987,137 +9170,137 @@ Updates the auto-prune policy for the organization

      PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      The policy configuration that is to be applied to the user namespace -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      method
      required

      -
      +

      The method to use for pruning tags (number_of_tags, creation_date)

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

      -
       
      +  

      tagPattern
      optional

      -
      +

      Tags only matching this pattern will be pruned

      -
      +

      string

      -
      +

      tagPatternMatches
      optional

      -
      +

      Determine whether pruned tags should or should not match the tagPattern

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9125,121 +9308,121 @@ Creates an auto-prune policy for the repository

      POST /api/v1/repository/{repository}/autoprunepolicy/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      The policy configuration that is to be applied to the user namespace -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      method
      required

      -
      +

      The method to use for pruning tags (number_of_tags, creation_date)

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

      -
       
      +  

      tagPattern
      optional

      -
      +

      Tags only matching this pattern will be pruned

      -
      +

      string

      -
      +

      tagPatternMatches
      optional

      -
      +

      Determine whether pruned tags should or should not match the tagPattern

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9247,75 +9430,75 @@ Lists the auto-prune policies for the repository

      GET /api/v1/repository/{repository}/autoprunepolicy/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9323,91 +9506,91 @@ Fetches the auto-prune policy for the repository

      GET /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9415,91 +9598,91 @@ Deletes the auto-prune policy for the repository

      DELETE /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9507,137 +9690,137 @@ Updates the auto-prune policy for the repository

      PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      The policy configuration that is to be applied to the user namespace -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      method
      required

      -
      +

      The method to use for pruning tags (number_of_tags, creation_date)

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

      -
       
      +  

      tagPattern
      optional

      -
      +

      Tags only matching this pattern will be pruned

      -
      +

      string

      -
      +

      tagPatternMatches
      optional

      -
      +

      Determine whether pruned tags should or should not match the tagPattern

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9647,103 +9830,103 @@ Authorizations: oauth2_implicit (user:admin)

      Request body schema (application/json)

      The policy configuration that is to be applied to the user namespace -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      method
      required

      -
      +

      The method to use for pruning tags (number_of_tags, creation_date)

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

      -
       
      +  

      tagPattern
      optional

      -
      +

      Tags only matching this pattern will be pruned

      -
      +

      string

      -
      +

      tagPatternMatches
      optional

      -
      +

      Determine whether pruned tags should or should not match the tagPattern

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9751,59 +9934,59 @@ Lists the auto-prune policies for the currently logged in user

      GET /api/v1/user/autoprunepolicy/

      Authorizations: oauth2_implicit (user:admin) -

      Responses
      HTTP CodeDescriptionSchema
      +

      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9811,75 +9994,75 @@ Fetches the auto-prune policy for the currently logged in user

      GET /api/v1/user/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9887,75 +10070,75 @@ Deletes the auto-prune policy for the currently logged in user

      DELETE /api/v1/user/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -9963,121 +10146,121 @@ Updates the auto-prune policy for the currently logged in user

      PUT /api/v1/user/autoprunepolicy/{policy_uuid}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      policy_uuid
      required

      -
      +

      The unique ID of the policy

      -
      +

      string

      Request body schema (application/json)

      The policy configuration that is to be applied to the user namespace -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      method
      required

      -
      +

      The method to use for pruning tags (number_of_tags, creation_date)

      -
      +

      string

      -
      +

      value
      required

      -
      +

      The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

      -
       
      +  

      tagPattern
      optional

      -
      +

      Tags only matching this pattern will be pruned

      -
      +

      string

      -
      +

      tagPatternMatches
      optional

      -
      +

      Determine whether pruned tags should or should not match the tagPattern

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10087,105 +10270,105 @@ Update the role of an existing permission prototype.

      PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      prototypeid
      required

      -
      +

      The ID of the prototype

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Description of a the new prototype role -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      role
      optional

      -
      +

      Role that should be applied to the permission

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10199,91 +10382,91 @@ Delete an existing permission prototype.

      DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      prototypeid
      required

      -
      +

      The ID of the prototype

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10294,113 +10477,113 @@ Create a new permission prototype.

      POST /api/v1/organization/{orgname}/prototypes

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Description of a new prototype -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      role
      required

      -
      +

      Role that should be applied to the delegate

      -
      +

      string

      -
      +

      activating_user
      optional

      -
      +

      Repository creating user to whom the rule should apply

      -
      +

      object

      -
      +

      delegate
      required

      -
      +

      Information about the user or team to which the rule grants access

      -
      +

      object

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10417,75 +10600,75 @@ List the existing prototypes for this organization.

      GET /api/v1/organization/{orgname}/prototypes

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10570,115 +10753,115 @@ Authorizations: oauth2_implicit (repo:create)

      Request body schema (application/json)

      Description of a new repository -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      repository
      required

      -
      +

      Repository name

      -
      +

      string

      -
      +

      visibility
      required

      -
      +

      Visibility which the repository will start with

      -
      +

      string

      -
      +

      namespace
      optional

      -
      +

      Namespace in which the repository should be created. If omitted, the username of the caller is used

      -
      +

      string

      -
      +

      description
      required

      -
      +

      Markdown encoded description for the repository

      -
      +

      string

      -
      +

      repo_kind
      optional

      -
      +

      The kind of repository

      -
       
      Responses
      HTTP CodeDescriptionSchema
      +  
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10694,171 +10877,171 @@ Fetch the list of repositories visible to the current user under a variety of situations.

      GET /api/v1/repository

      Authorizations: oauth2_implicit (repo:read) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      +

      query

      -
      +

      repo_kind
      optional

      -
      +

      The kind of repositories to return

      -
      +

      string

      -
      +

      query

      -
      +

      popularity
      optional

      -
      +

      Whether to include the repository’s popularity metric.

      -
      +

      boolean

      -
      +

      query

      -
      +

      last_modified
      optional

      -
      +

      Whether to include when the repository was last modified.

      -
      +

      boolean

      -
      +

      query

      -
      +

      public
      required

      -
      +

      Adds any repositories visible to the user by virtue of being public

      -
      +

      boolean

      -
      +

      query

      -
      +

      starred
      required

      -
      +

      Filters the repositories returned to those starred by the user

      -
      +

      boolean

      -
      +

      query

      -
      +

      namespace
      required

      -
      +

      Filters the repositories returned to this namespace

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10866,89 +11049,89 @@ Change the visibility of a repository.

      POST /api/v1/repository/{repository}/changevisibility

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Change the visibility for the repository. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      visibility
      required

      -
      +

      Visibility which the repository will start with

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -10956,89 +11139,89 @@ Change the state of a repository.

      PUT /api/v1/repository/{repository}/changestate

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Change the state of the repository. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      state
      required

      -
      +

      Determines whether pushes are allowed.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11046,107 +11229,107 @@ Fetch the specified repository.

      GET /api/v1/repository/{repository}

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      includeTags
      optional

      -
      +

      Whether to include repository tags

      -
      +

      boolean

      -
      +

      query

      -
      +

      includeStats
      optional

      -
      +

      Whether to include action statistics

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11154,89 +11337,89 @@ Update the description in the specified repository.

      PUT /api/v1/repository/{repository}

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Fields which can be updated in a repository. -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      description
      required

      -
      +

      Markdown encoded description for the repository

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11244,75 +11427,75 @@ Delete a repository.

      DELETE /api/v1/repository/{repository}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11322,91 +11505,91 @@ Queues a test notification for this repository.

      POST /api/v1/repository/{repository}/notification/{uuid}/test

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      uuid
      required

      -
      +

      The UUID of the notification

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11416,91 +11599,91 @@ Get information for the specified notification.

      GET /api/v1/repository/{repository}/notification/{uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      uuid
      required

      -
      +

      The UUID of the notification

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11510,91 +11693,91 @@ Deletes the specified notification.

      DELETE /api/v1/repository/{repository}/notification/{uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      uuid
      required

      -
      +

      The UUID of the notification

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11604,227 +11787,227 @@ Resets repository notification to 0 failures.

      POST /api/v1/repository/{repository}/notification/{uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      uuid
      required

      -
      +

      The UUID of the notification

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.17.5. createRepoNotification

      POST /api/v1/repository/{repository}/notification/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Information for creating a notification on a repository -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      event
      required

      -
      +

      The event on which the notification will respond

      -
      +

      string

      -
      +

      method
      required

      -
      +

      The method of notification (such as email or web callback)

      -
      +

      string

      -
      +

      config
      required

      -
      +

      JSON config information for the specific method of notification

      -
      +

      object

      -
      +

      eventConfig
      required

      -
      +

      JSON config information for the specific event of notification

      -
      +

      object

      -
      +

      title
      optional

      -
      +

      The human-readable title of the notification

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11845,75 +12028,75 @@ List the notifications for the specified repository.

      GET /api/v1/repository/{repository}/notification/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -11923,107 +12106,107 @@ List the available robots for the user.

      GET /api/v1/user/robots

      Authorizations: oauth2_implicit (user:admin) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      limit
      optional

      -
      +

      If specified, the number of robots to return.

      -
      +

      integer

      -
      +

      query

      -
      +

      token
      optional

      -
      +

      If false, the robot’s token is not returned.

      -
      +

      boolean

      -
      +

      query

      -
      +

      permissions
      optional

      -
      +

      Whether to include repositories and teams in which the robots have permission.

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12031,91 +12214,91 @@ Returns the list of repository permissions for the org’s robot.

      GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12123,91 +12306,91 @@ Regenerates the token for an organization robot.

      POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12217,75 +12400,75 @@ Returns the list of repository permissions for the user’s robot.

      GET /api/v1/user/robots/{robot_shortname}/permissions

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12293,75 +12476,75 @@ Regenerates the token for a user’s robot.

      POST /api/v1/user/robots/{robot_shortname}/regenerate

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12371,91 +12554,91 @@ Returns the organization’s robot with the specified name.

      GET /api/v1/organization/{orgname}/robots/{robot_shortname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12463,117 +12646,117 @@ Create a new robot in the organization.

      PUT /api/v1/organization/{orgname}/robots/{robot_shortname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Optional data for creating a robot -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      description
      optional

      -
      +

      Optional text description for the robot

      -
      +

      string

      -
      +

      unstructured_metadata
      optional

      -
      +

      Optional unstructured metadata for the robot

      -
      +

      object

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12581,91 +12764,91 @@ Delete an existing organization robot.

      DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12675,123 +12858,123 @@ List the organization’s robots.

      GET /api/v1/organization/{orgname}/robots

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      limit
      optional

      -
      +

      If specified, the number of robots to return.

      -
      +

      integer

      -
      +

      query

      -
      +

      token
      optional

      -
      +

      If false, the robot’s token is not returned.

      -
      +

      boolean

      -
      +

      query

      -
      +

      permissions
      optional

      -
      +

      Whether to include repositories and teams in which the robots have permission.

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12799,75 +12982,75 @@ Returns the user’s robot with the specified name.

      GET /api/v1/user/robots/{robot_shortname}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12877,101 +13060,101 @@ Create a new user robot with the specified name.

      PUT /api/v1/user/robots/{robot_shortname}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      Request body schema (application/json)

      Optional data for creating a robot -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      description
      optional

      -
      +

      Optional text description for the robot

      -
      +

      string

      -
      +

      unstructured_metadata
      optional

      -
      +

      Optional unstructured metadata for the robot

      -
      +

      object

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -12979,75 +13162,75 @@ Delete an existing robot.

      DELETE /api/v1/user/robots/{robot_shortname}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      robot_shortname
      required

      -
      +

      The short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13057,43 +13240,43 @@ Return an expiring robot token using the robot identity federation mechanism.

      GET oauth2/federation/robot/token

      Authorizations: oauth2_implicit (robot:auth) -

      Responses
      HTTP CodeDescriptionSchema
      +

      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful authentication and token generation

      -
      +

      { "token": "string" }

      -
      +

      401

      -
      +

      Unauthorized: missing or invalid authentication

      -
      +

      { "error": "string" }

      -
      Request Body
      TypeNameDescriptionSchema
      +
      Request Body
      TypeNameDescriptionSchema

      body

      -
      +

      auth_result
      required

      -
      +

      The result of the authentication process, containing information about the robot identity.

      -
      +

      { "missing": "boolean", "error_message": "string", "context": { "robot": "RobotObject" } }

      @@ -13103,63 +13286,63 @@ Retrieve the federation configuration for the specified organization robot.

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      orgname + robot_shortnamerequired

      -
      +

      The name of the organization and the short name for the robot, without any user or organization prefix

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      @@ -13169,107 +13352,107 @@ Get a list of apps and repositories that match the specified query.

      GET /api/v1/find/repositories

      Authorizations:  -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      includeUsage
      optional

      -
      +

      Whether to include usage metadata

      -
      +

      boolean

      -
      +

      query

      -
      +

      page
      optional

      -
      +

      The page.

      -
      +

      integer

      -
      +

      query

      -
      +

      query
      optional

      -
      +

      The search query.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13277,75 +13460,75 @@ Get a list of entities and resources that match the specified query.

      GET /api/v1/find/all

      Authorizations: oauth2_implicit (repo:read) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      query
      optional

      -
      +

      The search query.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13353,119 +13536,119 @@ Get a list of entities that match the specified prefix.

      GET /api/v1/entities/{prefix}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      prefix
      required

      -
        +  

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      includeOrgs
      optional

      -
      +

      Whether to include orgs names.

      -
      +

      boolean

      -
      +

      query

      -
      +

      includeTeams
      optional

      -
      +

      Whether to include team names.

      -
      +

      boolean

      -
      +

      query

      -
      +

      namespace
      optional

      -
      +

      Namespace to use when querying for org entities.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13473,107 +13656,107 @@ List and manage repository vulnerabilities and other security information.

      7.20.1. getRepoManifestSecurity

      GET /api/v1/repository/{repository}/manifest/{manifestref}/security

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      manifestref
      required

      -
      +

      The digest of the manifest

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      vulnerabilities
      optional

      -
      +

      Include vulnerabilities informations

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13588,83 +13771,83 @@ Authorizations: oauth2_implicit (super:user)

      Request body schema (application/json)

      Data for creating a user -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      username
      required

      -
      +

      The username of the user being created

      -
      +

      string

      -
      +

      email
      optional

      -
      +

      The email address of the user being created

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13677,71 +13860,71 @@ Authorizations: oauth2_implicit (super:user)

      Request body schema (application/json)

      Data for deleting a user -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      username
      required

      -
      +

      The username of the user being deleted

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13749,107 +13932,107 @@ Returns a list of all users in the system.

      GET /api/v1/superuser/users/

      Authorizations: oauth2_implicit (super:user) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      +

      query

      -
      +

      limit
      optional

      -
      +

      Limit to the number of results to return per page. Max 100.

      -
      +

      integer

      -
      +

      query

      -
      +

      disabled
      optional

      -
      +

      If false, only enabled users will be returned.

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13857,123 +14040,123 @@ List the usage logs for the current system.

      GET /api/v1/superuser/logs

      Authorizations: oauth2_implicit (super:user) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      +

      query

      -
      +

      page
      optional

      -
      +

      The page number for the logs

      -
      +

      integer

      -
      +

      query

      -
      +

      endtime
      optional

      -
      +

      Latest time to which to get logs (%m/%d/%Y %Z)

      -
      +

      string

      -
      +

      query

      -
      +

      starttime
      optional

      -
      +

      Earliest time from which to get logs (%m/%d/%Y %Z)

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -13981,75 +14164,75 @@ List the organizations for the current system.

      GET /api/v1/superuser/organizations

      Authorizations: oauth2_implicit (super:user) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      path

      -
      +

      name
      required

      -
      +

      The name of the organization being managed

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -14057,837 +14240,837 @@ Authorizations: oauth2_implicit (super:user)

      Request body schema (application/json)

      Description of creation of a service key -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      service
      required

      -
      +

      The service authenticating with this key

      -
      +

      string

      -
      +

      name
      optional

      -
      +

      The friendly name of a service key

      -
      +

      string

      -
      +

      metadata
      optional

      -
      +

      The key/value pairs of this key’s metadata

      -
      +

      object

      -
      +

      notes
      optional

      -
      +

      If specified, the extra notes for the key

      -
      +

      string

      -
      +

      expiration
      required

      -
      +

      The expiration date as a unix timestamp

      -
       
      Responses
      HTTP CodeDescriptionSchema
      +  
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.7. listServiceKeys

      GET /api/v1/superuser/keys

      Authorizations: oauth2_implicit (super:user) -

      Responses
      HTTP CodeDescriptionSchema
      +

      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.8. changeUserQuotaSuperUser

      PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      limit_bytes
      optional

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.9. deleteUserQuotaSuperUser

      DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.10. createUserQuotaSuperUser

      POST /api/v1/superuser/organization/{namespace}/quota

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      limit_bytes
      required

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.11. listUserQuotaSuperUser

      GET /api/v1/superuser/organization/{namespace}/quota

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.12. changeOrganizationQuotaSuperUser

      PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      limit_bytes
      optional

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.13. deleteOrganizationQuotaSuperUser

      DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      quota_id
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.14. createOrganizationQuotaSuperUser

      POST /api/v1/superuser/users/{namespace}/quota

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a new organization quota -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      limit_bytes
      optional

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.15. listOrganizationQuotaSuperUser

      GET /api/v1/superuser/users/{namespace}/quota

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -14895,121 +15078,121 @@ Updates information about the specified user.

      PUT /api/v1/superuser/organizations/{name}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      name
      required

      -
      +

      The name of the organizaton being managed

      -
      +

      string

      Request body schema (application/json)

      Description of updates for an existing organization -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      email
      optional

      -
      +

      Organization contact email

      -
      +

      string

      -
      +

      invoice_email
      optional

      -
      +

      Whether the organization desires to receive emails for invoices

      -
      +

      boolean

      -
      +

      invoice_email_address
      optional

      -
      +

      The email address at which to receive invoices

      -
       
      +  

      tag_expiration_s
      optional

      -
      +

      The number of seconds for tag expiration

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -15017,419 +15200,419 @@ Deletes the specified organization.

      DELETE /api/v1/superuser/organizations/{name}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      name
      required

      -
      +

      The name of the organizaton being managed

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.18. approveServiceKey

      POST /api/v1/superuser/approvedkeys/{kid}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      kid
      required

      -
      +

      The unique identifier for a service key

      -
      +

      string

      Request body schema (application/json)

      Information for approving service keys -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      notes
      optional

      -
      +

      Optional approval notes

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.19. deleteServiceKey

      DELETE /api/v1/superuser/keys/{kid}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      kid
      required

      -
      +

      The unique identifier for a service key

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.20. updateServiceKey

      PUT /api/v1/superuser/keys/{kid}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      kid
      required

      -
      +

      The unique identifier for a service key

      -
      +

      string

      Request body schema (application/json)

      Description of updates for a service key -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      name
      optional

      -
      +

      The friendly name of a service key

      -
      +

      string

      -
      +

      metadata
      optional

      -
      +

      The key/value pairs of this key’s metadata

      -
      +

      object

      -
      +

      expiration
      optional

      -
      +

      The expiration date as a unix timestamp

      -
       
      Responses
      HTTP CodeDescriptionSchema
      +  
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.21. getServiceKey

      GET /api/v1/superuser/keys/{kid}

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      kid
      required

      -
      +

      The unique identifier for a service key

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -15437,75 +15620,75 @@ Return the status for the builds specified by the build uuids.

      GET /api/v1/superuser/{build_uuid}/status

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -15513,75 +15696,75 @@ Returns information about a build.

      GET /api/v1/superuser/{build_uuid}/build

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -15589,279 +15772,279 @@ Return the build logs for the build specified by the build uuid.

      GET /api/v1/superuser/{build_uuid}/logs

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      build_uuid
      required

      -
      +

      The UUID of the build

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.25. getRegistrySize

      GET /api/v1/superuser/registrysize/

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      Description of a image registry size -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      size_bytes*
      optional

      -
      +

      Number of bytes the organization is allowed

      -
      +

      integer

      -
      +

      last_ran

      -
        +  

      integer

      -
      +

      queued

      -
        +  

      boolean

      -
      +

      running

      -
        +  

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      CREATED

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.21.26. postRegistrySize

      POST /api/v1/superuser/registrysize/

      Authorizations: oauth2_implicit (super:user) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      namespace
      required

      -
        +  

      string

      Request body schema (application/json)

      Description of a image registry size -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      last_ran

      -
        +  

      integer

      -
      +

      queued

      -
        +  

      boolean

      -
      +

      running

      -
        +  

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      CREATED

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -15871,105 +16054,105 @@ Restores a repository tag back to a previous image in the repository.

      POST /api/v1/repository/{repository}/tag/{tag}/restore

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      tag
      required

      -
      +

      The name of the tag

      -
      +

      string

      Request body schema (application/json)

      Restores a tag to a specific image -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      manifest_digest
      required

      -
      +

      If specified, the manifest digest that should be used

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -15983,109 +16166,109 @@ Change which image a tag points to or create a new tag.

      PUT /api/v1/repository/{repository}/tag/{tag}

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      tag
      required

      -
      +

      The name of the tag

      -
      +

      string

      Request body schema (application/json)

      Makes changes to a specific tag -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      manifest_digest
      optional

      -
      +

      (If specified) The manifest digest to which the tag should point

      -
       
      +  

      expiration
      optional

      -
      +

      (If specified) The expiration for the image

      -
       
      Responses
      HTTP CodeDescriptionSchema
      +  
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16099,245 +16282,245 @@ Delete the specified repository tag.

      DELETE /api/v1/repository/{repository}/tag/{tag}

      Authorizations: oauth2_implicit (repo:write) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      +

      path

      -
      +

      tag
      required

      -
      +

      The name of the tag

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      7.22.4. listRepoTags

      GET /api/v1/repository/{repository}/tag/

      Authorizations: oauth2_implicit (repo:read) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      onlyActiveTags
      optional

      -
      +

      Filter to only active tags.

      -
      +

      boolean

      -
      +

      query

      -
      +

      page
      optional

      -
      +

      Page index for the results. Default 1.

      -
      +

      integer

      -
      +

      query

      -
      +

      limit
      optional

      -
      +

      Limit to the number of results to return per page. Max 100.

      -
      +

      integer

      -
      +

      query

      -
      +

      filter_tag_name
      optional

      -
      +

      Syntax: <op>:<name> Filters the tag names based on the operation.<op> can be 'like' or 'eq'.

      -
      +

      string

      -
      +

      query

      -
      +

      specificTag
      optional

      -
      +

      Filters the tags to the specific tag.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16350,91 +16533,91 @@ Returns the list of repository permissions for the org’s team.

      GET /api/v1/organization/{orgname}/team/{teamname}/permissions

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16442,107 +16625,107 @@ Adds or invites a member to an existing team.

      PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team

      -
      +

      string

      -
      +

      path

      -
      +

      membername
      required

      -
      +

      The username of the team member

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16552,107 +16735,107 @@ Delete a member of a team.

      If the user is merely invited to join the team, then the invite is removed instead.
      DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team

      -
      +

      string

      -
      +

      path

      -
      +

      membername
      required

      -
      +

      The username of the team member

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16662,107 +16845,107 @@ Retrieve the list of members for the specified team.

      GET /api/v1/organization/{orgname}/team/{teamname}/members

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      includePending
      optional

      -
      +

      Whether to include pending members

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16772,95 +16955,95 @@ Invites an email address to an existing team.

      PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      email
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      teamname
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16870,95 +17053,95 @@ Delete an invite of an email address to join a team.

      DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      email
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      teamname
      required

      -
        +  

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -16972,117 +17155,117 @@ This API is also used to create a team.

      PUT /api/v1/organization/{orgname}/team/{teamname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      Request body schema (application/json)

      Description of a team -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      role
      required

      -
      +

      Org wide permissions that should apply to the team

      -
      +

      string

      -
      +

      description
      optional

      -
      +

      Markdown description for the team

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17090,91 +17273,91 @@ Delete the specified team.

      DELETE /api/v1/organization/{orgname}/team/{teamname}

      Authorizations: oauth2_implicit (org:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      teamname
      required

      -
      +

      The name of the team

      -
      +

      string

      -
      +

      path

      -
      +

      orgname
      required

      -
      +

      The name of the organization

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17186,115 +17369,115 @@ Activate the specified build trigger.

      POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activate

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      trigger_uuid
      required

      -
      +

      The UUID of the build trigger

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Request body schema (application/json)
      NameDescriptionSchema
      +
      Request body schema (application/json)
      NameDescriptionSchema

      config
      required

      -
      +

      Arbitrary json.

      -
      +

      object

      -
      +

      pull_robot
      optional

      -
      +

      The name of the robot that will be used to pull images.

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17302,107 +17485,107 @@ List the builds started by the specified trigger.

      GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/builds

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      trigger_uuid
      required

      -
      +

      The UUID of the build trigger

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Query parameters
      TypeNameDescriptionSchema
      +
      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      limit
      optional

      -
      +

      The maximum number of builds to return

      -
      +

      integer

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17410,125 +17593,125 @@ Manually start a build from the specified trigger.

      POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/start

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      trigger_uuid
      required

      -
      +

      The UUID of the build trigger

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Optional run parameters for activating the build trigger -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      branch_name
      optional

      -
      +

      (SCM only) If specified, the name of the branch to build.

      -
      +

      string

      -
      +

      commit_sha
      optional

      -
      +

      (Custom Only) If specified, the ref/SHA1 used to checkout a git repository.

      -
      +

      string

      -
      +

      refs
      optional

      -
      +

      (SCM Only) If specified, the ref to build.

      -
       
      Responses
      HTTP CodeDescriptionSchema
      +  
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17536,91 +17719,91 @@ Get information for the specified build trigger.

      GET /api/v1/repository/{repository}/trigger/{trigger_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      trigger_uuid
      required

      -
      +

      The UUID of the build trigger

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17628,105 +17811,105 @@ Updates the specified build trigger.

      PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      trigger_uuid
      required

      -
      +

      The UUID of the build trigger

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      Request body schema (application/json)

      Options for updating a build trigger -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      enabled
      required

      -
      +

      Whether the build trigger is enabled

      -
      +

      boolean

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17734,91 +17917,91 @@ Delete the specified build trigger.

      DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      trigger_uuid
      required

      -
      +

      The UUID of the build trigger

      -
      +

      string

      -
      +

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17826,75 +18009,75 @@ List the triggers for the specified repository.

      GET /api/v1/repository/{repository}/trigger/

      Authorizations: oauth2_implicit (repo:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17904,83 +18087,83 @@ Star a repository.

      POST /api/v1/user/starred

      Authorizations: oauth2_implicit (repo:read) -

      Request body schema (application/json)
      NameDescriptionSchema
      +

      Request body schema (application/json)
      NameDescriptionSchema

      namespace
      required

      -
      +

      Namespace in which the repository belongs

      -
      +

      string

      -
      +

      repository
      required

      -
      +

      Repository name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      201

      -
      +

      Successful creation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -17988,75 +18171,75 @@ List all starred repositories.

      GET /api/v1/user/starred

      Authorizations: oauth2_implicit (user:admin) -

      Query parameters
      TypeNameDescriptionSchema
      +

      Query parameters
      TypeNameDescriptionSchema

      query

      -
      +

      next_page
      optional

      -
      +

      The page token for the next page

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -18064,63 +18247,63 @@ Get user information for the authenticated user.

      GET /api/v1/user/

      Authorizations: oauth2_implicit (user:read) -

      Responses
      HTTP CodeDescriptionSchema
      +

      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
      +

      UserView

      -
      +

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -18128,75 +18311,75 @@ Removes a star from a repository.

      DELETE /api/v1/user/starred/{repository}

      Authorizations: oauth2_implicit (user:admin) -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      repository
      required

      -
      +

      The full path of the repository. e.g. namespace/name

      -
      +

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      204

      -
      +

      Deleted

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      @@ -18204,371 +18387,371 @@ Get user information for the specified user.

      GET /api/v1/users/{username}

      Authorizations:  -

      Path parameters
      TypeNameDescriptionSchema
      +

      Path parameters
      TypeNameDescriptionSchema

      path

      -
      +

      username
      required

      -
        +  

      string

      -
      Responses
      HTTP CodeDescriptionSchema
      +
      Responses
      HTTP CodeDescriptionSchema

      200

      -
      +

      Successful invocation

      -
       
      +  

      400

      -
      +

      Bad Request

      -
      +

      ApiError

      -
      +

      401

      -
      +

      Session required

      -
      +

      ApiError

      -
      +

      403

      -
      +

      Unauthorized access

      -
      +

      ApiError

      -
      +

      404

      -
      +

      Not found

      -
      +

      ApiError

      -

      7.26. Definitions

      7.26.1. ApiError

      NameDescriptionSchema
      +

      7.26. Definitions

      7.26.1. ApiError

      NameDescriptionSchema

      status
      optional

      -
      +

      Status code of the response.

      -
      +

      integer

      -
      +

      type
      optional

      -
      +

      Reference to the type of the error.

      -
      +

      string

      -
      +

      detail
      optional

      -
      +

      Details about the specific instance of the error.

      -
      +

      string

      -
      +

      title
      optional

      -
      +

      Unique error code to identify the type of error.

      -
      +

      string

      -
      +

      error_message
      optional

      -
      +

      Deprecated; alias for detail

      -
      +

      string

      -
      +

      error_type
      optional

      -
      +

      Deprecated; alias for detail

      -
      +

      string

      -

      7.26.2. UserView

      NameDescriptionSchema
      +

      7.26.2. UserView

      NameDescriptionSchema

      verified
      optional

      -
      +

      Whether the user’s email address has been verified

      -
      +

      boolean

      -
      +

      anonymous
      optional

      -
      +

      true if this user data represents a guest user

      -
      +

      boolean

      -
      +

      email
      optional

      -
      +

      The user’s email address

      -
      +

      string

      -
      +

      avatar
      optional

      -
      +

      Avatar data representing the user’s icon

      -
      +

      object

      -
      +

      organizations
      optional

      -
      +

      Information about the organizations in which the user is a member

      -
      +

      array of object

      -
      +

      logins
      optional

      -
      +

      The list of external login providers against which the user has authenticated

      -
      +

      array of object

      -
      +

      can_create_repo
      optional

      -
      +

      Whether the user has permission to create repositories

      -
      +

      boolean

      -
      +

      preferred_namespace
      optional

      -
      +

      If true, the user’s namespace is the preferred namespace to display

      -
      +

      boolean

      -

      7.26.3. ViewMirrorConfig

      NameDescriptionSchema
      +

      7.26.3. ViewMirrorConfig

      NameDescriptionSchema

      is_enabled
      optional

      -
      +

      Used to enable or disable synchronizations.

      -
      +

      boolean

      -
      +

      external_reference
      optional

      -
      +

      Location of the external repository.

      -
      +

      string

      -
      +

      external_registry_username
      optional

      -
      +

      Username used to authenticate with external registry.

      -
       
      +  

      external_registry_password
      optional

      -
      +

      Password used to authenticate with external registry.

      -
       
      +  

      sync_start_date
      optional

      -
      +

      Determines the next time this repository is ready for synchronization.

      -
      +

      string

      -
      +

      sync_interval
      optional

      -
      +

      Number of seconds after next_start_date to begin synchronizing.

      -
      +

      integer

      -
      +

      robot_username
      optional

      -
      +

      Username of robot which will be used for image pushes.

      -
      +

      string

      -
      +

      root_rule
      optional

      -
      +

      A list of glob-patterns used to determine which tags should be synchronized.

      -
      +

      object

      -
      +

      external_registry_config
      optional

      -
        +  

      object

      -

      7.26.4. ApiErrorDescription

      NameDescriptionSchema
      +

      7.26.4. ApiErrorDescription

      NameDescriptionSchema

      type
      optional

      -
      +

      A reference to the error type resource

      -
      +

      string

      -
      +

      title
      optional

      -
      +

      The title of the error. Can be used to uniquely identify the kind of error.

      -
      +

      string

      -
      +

      description
      optional

      -
      +

      A more detailed description of the error that may include help for fixing the issue.

      -
      +

      string

      @@ -18590,7 +18773,7 @@ }, }

      8.2. rule_rule object reference

          {
                   "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["latest", "foo", "bar"]},
      -        }

      Legal Notice

      + }

      Legal Notice

      Copyright © 2025 Red Hat, Inc.
      The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/architecture/index.html b/master/architecture/index.html index 43fbcc77c..024a215c9 100644 --- a/master/architecture/index.html +++ b/master/architecture/index.html @@ -1,6 +1,6 @@ -Red Hat Quay architecture
      Red Hat Quay 3.13

      Red Hat Quay architecture

      Red Hat Quay Architecture

      Red Hat OpenShift Documentation Team

      Abstract

      +Red Hat Quay architecture
      Red Hat Quay 3.13

      Red Hat Quay architecture

      Red Hat Quay Architecture

      Red Hat OpenShift Documentation Team

      Abstract

      Red Hat Quay Architecture

      Chapter 1. Red Hat Quay overview

      Red Hat Quay is a distributed and highly available container image registry for your enterprise. @@ -436,99 +436,99 @@ Automatic synchronization or mirroring of selected (allowlisted) upstream repositories from external registries into a local Red Hat Quay deployment

      Note

      Repository mirroring and geo-replication can be used simultaneously. -

      Table 6.1. Red Hat Quay Repository mirroring and geo-replication comparison

      Feature / CapabilityGeo-replicationRepository mirroring
      +

      Table 6.1. Red Hat Quay Repository mirroring and geo-replication comparison

      Feature / CapabilityGeo-replicationRepository mirroring

      What is the feature designed to do?

      -
      +

      A shared, global registry

      -
      +

      Distinct, different registries

      -
      +

      What happens if replication or mirroring has not been completed yet?

      -
      +

      The remote copy is used (slower)

      -
      +

      No image is served

      -
      +

      Is access to all storage backends in both regions required?

      -
      +

      Yes (all Red Hat Quay nodes)

      -
      +

      No (distinct storage)

      -
      +

      Can users push images from both sites to the same repository?

      -
      +

      Yes

      -
      +

      No

      -
      +

      Is all registry content and configuration identical across all regions (shared database)?

      -
      +

      Yes

      -
      +

      No

      -
      +

      Can users select individual namespaces or repositories to be mirrored?

      -
      +

      No

      -
      +

      Yes

      -
      +

      Can users apply filters to synchronization rules?

      -
      +

      No

      -
      +

      Yes

      -
      +

      Are individual / different role-base access control configurations allowed in each region

      -
      +

      No

      -
      +

      Yes

      @@ -566,143 +566,143 @@ Stateless components of Red Hat Quay can be scaled out, but this will cause a heavier load on stateful backend services.

      7.1. Red Hat Quay sample sizings

      The following table shows approximate sizing for Proof of Concept, mid-size, and high-end deployments. Whether a deployment runs appropriately with the same metrics depends on many factors not shown below. -

      MetricProof of conceptMid-sizeHigh End
      (Quay.io)
      +

      MetricProof of conceptMid-sizeHigh End
      (Quay.io)

      No. of Quay containers by default

      -
      +

      1

      -
      +

      4

      -
      +

      15

      -
      +

      No. of Quay containers max at scale-out

      -
      +

      N/A

      -
      +

      8

      -
      +

      30

      -
      +

      No. of Clair containers by default

      -
      +

      1

      -
      +

      3

      -
      +

      10

      -
      +

      No. of Clair containers max at scale-out

      -
      +

      N/A

      -
      +

      6

      -
      +

      15

      -
      +

      No. of mirroring pods (to mirror 100 repositories)

      -
      +

      1

      -
      +

      5-10

      -
      +

      N/A

      -
      +

      Database sizing

      -
      +

      2 -4 Cores
      6-8 GB RAM
      10-20 GB disk

      -
      +

      4-8 Cores
      6-32 GB RAM
      100 GB - 1 TB disk

      -
      +

      32 cores
      244 GB
      1+ TB disk

      -
      +

      Object storage backend sizing

      -
      +

      10-100 GB

      -
      +

      1 - 20 TB

      -
      +

      50+ TB up to PB

      -
      +

      Redis cache sizing

      -
        +  

      2 Cores
      2-4 GB RAM

      -
      +

      4 cores
      28 GB RAM

      -
      +

      Underlying node sizing
      (physical or virtual)

      -
      +

      4 Cores
      8 GB RAM

      -
      +

      4-6 Cores
      12-16 GB RAM

      -
      +

      Quay:
      13 cores
      56GB RAM

      Clair:
      2 cores
      4 GB RAM

      @@ -768,101 +768,101 @@ For the namespace auto-pruning feature, two distinct database tables within a database schema were created: one for namespaceautoprunepolicy and another for autoprunetaskstatus. An auto-prune worker carries out the configured policies.

      Namespace auto prune policy database table

      The namespaceautoprunepolicy database table holds the policy configuration for a single namespace. There is only one entry per namespace, but there is support for multiple rows per namespace_id. The policy field holds the policy details, such as {method: "creation_date", olderThan: "2w"} or {method: "number_of_tags", numTags: 100}. -

      Table 9.1. namespaceautoprunepolicy database table

      FieldTypeAttributesDescription
      +

      Table 9.1. namespaceautoprunepolicy database table

      FieldTypeAttributesDescription

      uuid

      -
      +

      character varying (225)

      -
      +

      Unique, indexed

      -
      +

      Unique identifier for this policy

      -
      +

      namespace_id

      -
      +

      Integer

      -
      +

      Foreign Key

      -
      +

      Namespace that the policy falls under

      -
      +

      policy

      -
      +

      text

      -
      +

      JSON

      -
      +

      Policy configuration

      Auto-prune task status database table

      The autoprunetaskstatus table registers tasks to be executed by the auto-prune worker. Tasks are executed within the context of a single namespace. Only one task per namespace exists. -

      Table 9.2. autoprunetaskstatus database table

      FieldTypeAttributesDescription
      +

      Table 9.2. autoprunetaskstatus database table

      FieldTypeAttributesDescription

      namespace_id

      -
      +

      Integer

      -
      +

      Foreign Key

      -
      +

      Namespace that this task belongs to

      -
      +

      last_ran_ms

      -
      +

      Big Integer (bigint)

      -
      +

      Nullable, indexed

      -
      +

      Last time that the worker executed the policies for this namespace

      -
      +

      status

      -
      +

      text

      -
      +

      Nullable

      -
      +

      Details from the last execution task

      @@ -900,7 +900,7 @@ The last_ran_ms gets updated after a row from autoprunetask is selected.
    • The auto-prune worker ends. -
    • Legal Notice

      +

      Legal Notice

      Copyright © 2025 Red Hat, Inc.
      The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/config_quay/index.html b/master/config_quay/index.html index 8e2e6906e..785641234 100644 --- a/master/config_quay/index.html +++ b/master/config_quay/index.html @@ -1,6 +1,6 @@ -Configure Red Hat Quay
      Red Hat Quay 3.13

      Configure Red Hat Quay

      Customizing Red Hat Quay using configuration options

      Red Hat OpenShift Documentation Team

      Abstract

      +Configure Red Hat Quay
      Red Hat Quay 3.13

      Configure Red Hat Quay

      Customizing Red Hat Quay using configuration options

      Red Hat OpenShift Documentation Team

      Abstract

      Configure Red Hat Quay

      Chapter 1. Getting started with Red Hat Quay configuration

      Red Hat Quay can be deployed by an independent, standalone configuration, or by using the Red Hat Quay Operator on OpenShift Container Platform. @@ -467,75 +467,75 @@ Legacy options

      3.4. General required fields

      The following table describes the required configuration fields for a Red Hat Quay deployment: -

      Table 3.1. General required fields

      FieldTypeDescription
      +

      Table 3.1. General required fields

      FieldTypeDescription

      AUTHENTICATION_TYPE
      (Required)

      -
      +

      String

      -
      +

      The authentication engine to use for credential authentication.

      Values:
      One of Database, LDAP, JWT, Keystone, OIDC

      Default: Database

      -
      +

      PREFERRED_URL_SCHEME
      (Required)

      -
      +

      String

      -
      +

      The URL scheme to use when accessing Red Hat Quay.

      Values:
      One of http, https

      Default: http

      -
      +

      SERVER_HOSTNAME
      (Required)

      -
      +

      String

      -
      +

      The URL at which Red Hat Quay is accessible, without the scheme.

      Example:
      quay-server.example.com

      -
      +

      DATABASE_SECRET_KEY
      (Required)

      -
      +

      String

      -
      +

      Key used to encrypt sensitive fields within the database. This value should never be changed once set, otherwise all reliant fields, for example, repository mirror username and password configurations, are invalidated.
      This value is set automatically by the Red Hat Quay Operator for Operator-based deployments. For standalone deployments, administrators can provide their own key using Open SSL or a similar tool. Key length should not exceed 63 characters.

      -
      +

      SECRET_KEY
      (Required)

      -
      +

      String

      -
      +

      Key used to encrypt the session cookie and the CSRF token needed for correct interpretation of the user session. The value should not be changed when set. Should be persistent across all Red Hat Quay instances. If not persistent across all instances, login failures and other errors related to session persistence might occur.

      -
      +

      SETUP_COMPLETE
      (Required)

      -
      +

      Boolean

      -
      +

      This is an artifact left over from earlier versions of the software and currently it must be specified with a value of true.

      @@ -545,15 +545,15 @@ With Red Hat Quay, connection to the database is configured by using the required DB_URI field.

      The following table describes the DB_URI configuration field: -

      Table 3.2. Database URI

      FieldTypeDescription
      +

      Table 3.2. Database URI

      FieldTypeDescription

      DB_URI
      (Required)

      -
      +

      String

      -
      +

      The URI for accessing the database, including any credentials.

      @@ -567,39 +567,39 @@ Optional connection arguments are configured by the DB_CONNECTION_ARGS parameter. Some of the key-value pairs defined under DB_CONNECTION_ARGS are generic, while others are database specific.

      The following table describes database connection arguments: -

      Table 3.3. Database connection arguments

      FieldTypeDescription
      +

      Table 3.3. Database connection arguments

      FieldTypeDescription

      DB_CONNECTION_ARGS

      -
      +

      Object

      -
      +

      Optional connection arguments for the database, such as timeouts and SSL/TLS.

      -
      +

      .autorollback

      -
      +

      Boolean

      -
      +

      Whether to use thread-local connections.
      Should always be true

      -
      +

      .threadlocals

      -
      +

      Boolean

      -
      +

      Whether to use auto-rollback connections.
      Should always be true

      @@ -609,51 +609,51 @@ sslmode: verify-ca sslrootcert: /path/to/cacert

      The sslmode option determines whether, or with, what priority a secure SSL/TLS TCP/IP connection will be negotiated with the server. There are six modes: -

      Table 3.4. SSL/TLS options

      ModeDescription
      +

      Table 3.4. SSL/TLS options

      ModeDescription

      disable

      -
      +

      Your configuration only tries non-SSL/TLS connections.

      -
      +

      allow

      -
      +

      Your configuration first tries a non-SSL/TLS connection. Upon failure, tries an SSL/TLS connection.

      -
      +

      prefer
      (Default)

      -
      +

      Your configuration first tries an SSL/TLS connection. Upon failure, tries a non-SSL/TLS connection.

      -
      +

      require

      -
      +

      Your configuration only tries an SSL/TLS connection. If a root CA file is present, it verifies the certificate in the same way as if verify-ca was specified.

      -
      +

      verify-ca

      -
      +

      Your configuration only tries an SSL/TLS connection, and verifies that the server certificate is issued by a trusted certificate authority (CA).

      -
      +

      verify-full

      -
      +

      Only tries an SSL/TLS connection, and verifies that the server certificate is issued by a trusted CA and that the requested server hostname matches that in the certificate.

      @@ -669,89 +669,89 @@ This section details the image storage features and configuration fields that are available with Red Hat Quay.

      3.6.1. Image storage features

      The following table describes the image storage features for Red Hat Quay: -

      Table 3.5. Storage config features

      FieldTypeDescription
      +

      Table 3.5. Storage config features

      FieldTypeDescription

      FEATURE_REPO_MIRROR

      -
      +

      Boolean

      -
      +

      If set to true, enables repository mirroring.

      Default: false

      -
      +

      FEATURE_PROXY_STORAGE

      -
      +

      Boolean

      -
      +

      Whether to proxy all direct download URLs in storage through NGINX.

      Default: false

      -
      +

      FEATURE_STORAGE_REPLICATION

      -
      +

      Boolean

      -
      +

      Whether to automatically replicate between storage engines.

      Default: false

      3.6.2. Image storage configuration fields

      The following table describes the image storage configuration fields for Red Hat Quay: -

      Table 3.6. Storage config fields

      FieldTypeDescription
      +

      Table 3.6. Storage config fields

      FieldTypeDescription

      DISTRIBUTED_STORAGE_CONFIG
      (Required)

      -
      +

      Object

      -
      +

      Configuration for storage engine(s) to use in Red Hat Quay. Each key represents an unique identifier for a storage engine. The value consists of a tuple of (key, value) forming an object describing the storage engine parameters.

      Default: []

      -
      +

      DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS
      (Required)

      -
      +

      Array of string

      -
      +

      The list of storage engine(s) (by ID in DISTRIBUTED_STORAGE_CONFIG) whose images should be fully replicated, by default, to all other storage engines.

      -
      +

      DISTRIBUTED_STORAGE_PREFERENCE
      (Required)

      -
      +

      Array of string

      -
      +

      The preferred storage engine(s) (by ID in DISTRIBUTED_STORAGE_CONFIG) to use. A preferred engine means it is first checked for pulling and images are pushed to it.

      Default: false

      -
      +

      MAXIMUM_LAYER_SIZE

      -
      +

      String

      -
      +

      Maximum allowed size of an image layer.

      Pattern: ^[0-9]+(G|M)$

      Example: 100G

      Default: 20G

      @@ -964,197 +964,197 @@ This section details the configuration fields available for Redis deployments.

      3.7.1. Build logs

      The following build logs configuration fields are available for Redis deployments: -

      Table 3.7. Build logs configuration

      FieldTypeDescription
      +

      Table 3.7. Build logs configuration

      FieldTypeDescription

      BUILDLOGS_REDIS
      (Required)

      -
      +

      Object

      -
      +

      Redis connection details for build logs caching.

      -
      +

      .host
      (Required)

      -
      +

      String

      -
      +

      The hostname at which Redis is accessible.
      Example:
      quay-server.example.com

      -
      +

      .port
      (Required)

      -
      +

      Number

      -
      +

      The port at which Redis is accessible.
      Example:
      6379

      -
      +

      .password

      -
      +

      String

      -
      +

      The password to connect to the Redis instance.
      Example:
      strongpassword

      -
      +

      .ssl
      (Optional)

      -
      +

      Boolean

      -
      +

      Whether to enable TLS communication between Redis and Quay. Defaults to false.

      3.7.2. User events

      The following user event fields are available for Redis deployments: -

      Table 3.8. User events config

      FieldTypeDescription
      +

      Table 3.8. User events config

      FieldTypeDescription

      USER_EVENTS_REDIS
      (Required)

      -
      +

      Object

      -
      +

      Redis connection details for user event handling.

      -
      +

      .host
      (Required)

      -
      +

      String

      -
      +

      The hostname at which Redis is accessible.
      Example:
      quay-server.example.com

      -
      +

      .port
      (Required)

      -
      +

      Number

      -
      +

      The port at which Redis is accessible.
      Example:
      6379

      -
      +

      .password

      -
      +

      String

      -
      +

      The password to connect to the Redis instance.
      Example:
      strongpassword

      -
      +

      .ssl

      -
      +

      Boolean

      -
      +

      Whether to enable TLS communication between Redis and Quay. Defaults to false.

      -
      +

      .ssl_keyfile
      (Optional)

      -
      +

      String

      -
      +

      The name of the key database file, which houses the client certificate to be used.
      Example:
      ssl_keyfile: /path/to/server/privatekey.pem

      -
      +

      .ssl_certfile
      (Optional)

      -
      +

      String

      -
      +

      Used for specifying the file path of the SSL certificate.
      Example:
      ssl_certfile: /path/to/server/certificate.pem

      -
      +

      .ssl_cert_reqs
      (Optional)

      -
      +

      String

      -
      +

      Used to specify the level of certificate validation to be performed during the SSL/TLS handshake.
      Example:
      ssl_cert_reqs: CERT_REQUIRED

      -
      +

      .ssl_ca_certs
      (Optional)

      -
      +

      String

      -
      +

      Used to specify the path to a file containing a list of trusted Certificate Authority (CA) certificates.
      Example:
      ssl_ca_certs: /path/to/ca_certs.pem

      -
      +

      .ssl_ca_data
      (Optional)

      -
      +

      String

      -
      +

      Used to specify a string containing the trusted CA certificates in PEM format.
      Example:
      ssl_ca_data: <certificate>

      -
      +

      .ssl_check_hostname
      (Optional)

      -
      +

      Boolean

      -
      +

      Used when setting up an SSL/TLS connection to a server. It specifies whether the client should check that the hostname in the server’s SSL/TLS certificate matches the hostname of the server it is connecting to.
      Example:
      ssl_check_hostname: true

      @@ -1205,153 +1205,153 @@ skip_full_coverage_check: <true | false> ssl: <true | false >

      3.9. Tag expiration configuration fields

      The following tag expiration configuration fields are available with Red Hat Quay: -

      Table 3.9. Tag expiration configuration fields

      FieldTypeDescription
      +

      Table 3.9. Tag expiration configuration fields

      FieldTypeDescription

      FEATURE_GARBAGE_COLLECTION

      -
      +

      Boolean

      -
      +

      Whether garbage collection of repositories is enabled.

      Default: True

      -
      +

      TAG_EXPIRATION_OPTIONS
      (Required)

      -
      +

      Array of string

      -
      +

      If enabled, the options that users can select for expiration of tags in their namespace.

      Pattern:
      ^[0-9]+(y|w|m|d|h|s)$

      -
      +

      DEFAULT_TAG_EXPIRATION
      (Required)

      -
      +

      String

      -
      +

      The default, configurable tag expiration time for time machine.

      Pattern:
      ^[0-9]+(w|m|d|h|s)$
      Default: 2w

      -
      +

      FEATURE_CHANGE_TAG_EXPIRATION

      -
      +

      Boolean

      -
      +

      Whether users and organizations are allowed to change the tag expiration for tags in their namespace.

      Default: True

      -
      +

      FEATURE_AUTO_PRUNE

      -
      +

      Boolean

      -
      +

      When set to True, enables functionality related to the auto-pruning of tags.
      Default: False

      -
      +

      NOTIFICATION_TASK_RUN_MINIMUM_INTERVAL_MINUTES

      -
      +

      Integer

      -
      +

      The interval, in minutes, that defines the frequency to re-run notifications for expiring images.

      Default: 300

      -
      +

      DEFAULT_NAMESPACE_AUTOPRUNE_POLICY

      -
      +

      Object

      -
      +

      The default organization-wide auto-prune policy.

      -
      +

          .method: number_of_tags

      -
      +

      Object

      -
      +

      The option specifying the number of tags to keep.

      -
      +

          .value: <integer>

      -
      +

      Integer

      -
      +

      When used with method: number_of_tags, denotes the number of tags to keep.

      For example, to keep two tags, specify 2.

      -
      +

          .creation_date

      -
      +

      Object

      -
      +

      The option specifying the duration of which to keep tags.

      -
      +

          .value: <integer>

      -
      +

      Integer

      -
      +

      When used with creation_date, denotes how long to keep tags.

      Can be set to seconds (s), days (d), months (m), weeks (w), or years (y). Must include a valid integer. For example, to keep tags for one year, specify 1y.

      -
      +

      AUTO_PRUNING_DEFAULT_POLICY_POLL_PERIOD

      -
      +

      Integer

      -
      +

      The period in which the auto-pruner worker runs at the registry level. By default, it is set to run one time per day (one time per 24 hours). Value must be in seconds.

      @@ -1384,89 +1384,89 @@ method: creation_date value: 1y # ... -

      3.10. Quota management configuration fields

      Table 3.10. Quota management configuration

      FieldTypeDescription
      +

      3.10. Quota management configuration fields

      Table 3.10. Quota management configuration

      FieldTypeDescription

      FEATURE_QUOTA_MANAGEMENT

      -
      +

      Boolean

      -
      +

      Enables configuration, caching, and validation for quota management feature.

      **Default:** `False`
      -
      +

      DEFAULT_SYSTEM_REJECT_QUOTA_BYTES

      -
      +

      String

      -
      +

      Enables system default quota reject byte allowance for all organizations.

      By default, no limit is set.

      -
      +

      QUOTA_BACKFILL

      -
      +

      Boolean

      -
      +

      Enables the quota backfill worker to calculate the size of pre-existing blobs.

      Default: True

      -
      +

      QUOTA_TOTAL_DELAY_SECONDS

      -
      +

      String

      -
      +

      The time delay for starting the quota backfill. Rolling deployments can cause incorrect totals. This field must be set to a time longer than it takes for the rolling deployment to complete.

      Default: 1800

      -
      +

      PERMANENTLY_DELETE_TAGS

      -
      +

      Boolean

      -
      +

      Enables functionality related to the removal of tags from the time machine window.

      Default: False

      -
      +

      RESET_CHILD_MANIFEST_EXPIRATION

      -
      +

      Boolean

      -
      +

      Resets the expirations of temporary tags targeting the child manifests. With this feature set to True, child manifests are immediately garbage collected.

      @@ -1482,30 +1482,30 @@ PERMANENTLY_DELETE_TAGS: true QUOTA_TOTAL_DELAY_SECONDS: 1800 RESET_CHILD_MANIFEST_EXPIRATION: true -

      3.11. Proxy cache configuration fields

      Table 3.11. Proxy configuration

      FieldTypeDescription
      +

      3.11. Proxy cache configuration fields

      Table 3.11. Proxy configuration

      FieldTypeDescription

      FEATURE_PROXY_CACHE

      -
      +

      Boolean

      -
      +

      Enables Red Hat Quay to act as a pull through cache for upstream registries.

      Default: false

      -

      3.12. Robot account configuration fields

      Table 3.12. Robot account configuration fields

      FieldTypeDescription
      +

      3.12. Robot account configuration fields

      Table 3.12. Robot account configuration fields

      FieldTypeDescription

      ROBOTS_DISALLOW

      -
      +

      Boolean

      -
      +

      When set to true, robot accounts are prevented from all interactions, as well as from being created
      Default: False

      @@ -1671,147 +1671,147 @@ "invoice_email_address": null, "tag_expiration_s": 1209600, "is_free_account": true -}

      3.14. Basic configuration fields

      Table 3.13. Basic configuration

      FieldTypeDescription
      +}

      3.14. Basic configuration fields

      Table 3.13. Basic configuration

      FieldTypeDescription

      REGISTRY_TITLE

      -
      +

      String

      -
      +

      If specified, the long-form title for the registry. Displayed in frontend of your Red Hat Quay deployment, for example, at the sign in page of your organization. Should not exceed 35 characters.
      Default:
      Red Hat Quay

      -
      +

      REGISTRY_TITLE_SHORT

      -
      +

      String

      -
      +

      If specified, the short-form title for the registry. Title is displayed on various pages of your organization, for example, as the title of the tutorial on your organization’s Tutorial page.
      Default:
      Red Hat Quay

      -
      +

      CONTACT_INFO

      -
      +

      Array of String

      -
      +

      If specified, contact information to display on the contact page. If only a single piece of contact information is specified, the contact footer will link directly.

      -
      +

      [0]

      -
      +

      String

      -
      +

      Adds a link to send an e-mail.

      Pattern:
      ^mailto:(.)+$
      Example:
      mailto:support@quay.io

      -
      +

      [1]

      -
      +

      String

      -
      +

      Adds a link to visit an IRC chat room.

      Pattern:
      ^irc://(.)+$
      Example:
      irc://chat.freenode.net:6665/quay

      -
      +

      [2]

      -
      +

      String

      -
      +

      Adds a link to call a phone number.

      Pattern:
      ^tel:(.)+$
      Example:
      tel:+1-888-930-3475

      -
      +

      [3]

      -
      +

      String

      -
      +

      Adds a link to a defined URL.

      Pattern:
      ^http(s)?://(.)+$
      Example:
      https://twitter.com/quayio

      -

      3.15. SSL configuration fields

      Table 3.14. SSL configuration

      FieldTypeDescription
      +

      3.15. SSL configuration fields

      Table 3.14. SSL configuration

      FieldTypeDescription

      PREFERRED_URL_SCHEME

      -
      +

      String

      -
      +

      One of http or https. Note that users only set their PREFERRED_URL_SCHEME to http when there is no TLS encryption in the communication path from the client to Quay.
      Users must set their PREFERRED_URL_SCHEME`to `https when using a TLS-terminating load balancer, a reverse proxy (for example, Nginx), or when using Quay with custom SSL certificates directly. In most cases, the PREFERRED_URL_SCHEME should be https.
      Default: http

      -
      +

      SERVER_HOSTNAME
      (Required)

      -
      +

      String

      -
      +

      The URL at which Red Hat Quay is accessible, without the scheme

      Example:
      quay-server.example.com

      -
      +

      SSL_CIPHERS

      -
      +

      Array of String

      -
      +

      If specified, the nginx-defined list of SSL ciphers to enabled and disabled

      Example:
      [ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-GCM-SHA384, DHE-RSA-AES128-GCM-SHA256, DHE-DSS-AES128-GCM-SHA256, kEDH+AESGCM, ECDHE-RSA-AES128-SHA256, ECDHE-ECDSA-AES128-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-ECDSA-AES128-SHA, ECDHE-RSA-AES256-SHA384, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES256-SHA, ECDHE-ECDSA-AES256-SHA, DHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA, DHE-DSS-AES128-SHA256, DHE-RSA-AES256-SHA256, DHE-DSS-AES256-SHA, DHE-DSS-AES256-SHA, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, AES128-SHA, AES256-SHA, AES, !3DES", !aNULL, !eNULL, !EXPORT, DES, !RC4, MD5, !PSK, !aECDH, !EDH-DSS-DES-CBC3-SHA, !EDH-RSA-DES-CBC3-SHA, !KRB5-DES-CBC3-SHA]

      -
      +

      SSL_PROTOCOLS

      -
      +

      Array of String

      -
      +

      If specified, nginx is configured to enabled a list of SSL protocols defined in the list. Removing an SSL protocol from the list disables the protocol during Red Hat Quay startup.

      Example:
      ['TLSv1','TLSv1.1','TLSv1.2', `TLSv1.3]`

      -
      +

      SESSION_COOKIE_SECURE

      -
      +

      Boolean

      -
      +

      Whether the secure property should be set on session cookies

      Default:
      False

      Recommendation:
      Set to True for all installations using SSL

      @@ -1868,183 +1868,183 @@
      -----BEGIN CERTIFICATE-----
       MIIDTTCCAjWgAwIBAgIJAMVr9ngjJhzbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV...
       -----END CERTIFICATE-----
      -

      3.17. LDAP configuration fields

      Table 3.15. LDAP configuration

      FieldTypeDescription
      +

      3.17. LDAP configuration fields

      Table 3.15. LDAP configuration

      FieldTypeDescription

      AUTHENTICATION_TYPE
      (Required)

      -
      +

      String

      -
      +

      Must be set to LDAP.

      -
      +

      FEATURE_TEAM_SYNCING

      -
      +

      Boolean

      -
      +

      Whether to allow for team membership to be synced from a backing group in the authentication engine (OIDC, LDAP, or Keystone).

      Default: true

      -
      +

      FEATURE_NONSUPERUSER_TEAM_SYNCING_SETUP

      -
      +

      Boolean

      -
      +

      If enabled, non-superusers can setup team syncrhonization.

      Default: false

      -
      +

      LDAP_ADMIN_DN

      -
      +

      String

      -
      +

      The admin DN for LDAP authentication.

      -
      +

      LDAP_ADMIN_PASSWD

      -
      +

      String

      -
      +

      The admin password for LDAP authentication.

      -
      +

      LDAP_ALLOW_INSECURE_FALLBACK

      -
      +

      Boolean

      -
      +

      Whether or not to allow SSL insecure fallback for LDAP authentication.

      -
      +

      LDAP_BASE_DN

      -
      +

      Array of String

      -
      +

      The base DN for LDAP authentication.

      -
      +

      LDAP_EMAIL_ATTR

      -
      +

      String

      -
      +

      The email attribute for LDAP authentication.

      -
      +

      LDAP_UID_ATTR

      -
      +

      String

      -
      +

      The uid attribute for LDAP authentication.

      -
      +

      LDAP_URI

      -
      +

      String

      -
      +

      The LDAP URI.

      -
      +

      LDAP_USER_FILTER

      -
      +

      String

      -
      +

      The user filter for LDAP authentication.

      -
      +

      LDAP_USER_RDN

      -
      +

      Array of String

      -
      +

      The user RDN for LDAP authentication.

      -
      +

      LDAP_SECONDARY_USER_RDNS

      -
      +

      Array of String

      -
      +

      Provide Secondary User Relative DNs if there are multiple Organizational Units where user objects are located.

      -
      +

      TEAM_RESYNC_STALE_TIME

      -
      +

      String

      -
      +

      If team syncing is enabled for a team, how often to check its membership and resync if necessary.

      Pattern:
      ^[0-9]+(w|m|d|h|s)$
      Example:
      2h
      Default:
      30m

      -
      +

      LDAP_SUPERUSER_FILTER

      -
      +

      String

      -
      +

      Subset of the LDAP_USER_FILTER configuration field. When configured, allows Red Hat Quay administrators the ability to configure Lightweight Directory Access Protocol (LDAP) users as superusers when Red Hat Quay uses LDAP as its authentication provider.

      @@ -2054,69 +2054,69 @@

      This field requires that your AUTHENTICATION_TYPE is set to LDAP.

      -
      +

      GLOBAL_READONLY_SUPER_USERS

      -
      +

      String

      -
      +

      When set, grants users of this list read access to all repositories, regardless of whether they are public repositories. Only works for those superusers defined with the LDAP_SUPERUSER_FILTER configuration field.

      -
      +

      LDAP_RESTRICTED_USER_FILTER

      -
      +

      String

      -
      +

      Subset of the LDAP_USER_FILTER configuration field. When configured, allows Red Hat Quay administrators the ability to configure Lightweight Directory Access Protocol (LDAP) users as restricted users when Red Hat Quay uses LDAP as its authentication provider.

      This field requires that your AUTHENTICATION_TYPE is set to LDAP.

      -
      +

      FEATURE_RESTRICTED_USERS

      -
      +

      Boolean

      -
      +

      When set to True with LDAP_RESTRICTED_USER_FILTER active, only the listed users in the defined LDAP group are restricted.

      Default: False

      -
      +

      LDAP_TIMEOUT

      -
      +

      Integer

      -
      +

      Specifies the time limit, in seconds, for LDAP operations. This limits the amount of time an LDAP search, bind, or other operation can take. Similar to the -l option in ldapsearch, it sets a client-side operation timeout.

      Default: 10

      -
      +

      LDAP_NETWORK_TIMEOUT

      -
      +

      Integer

      -
      +

      Specifies the time limit, in seconds, for establishing a connection to the LDAP server. This is the maximum time Red Hat Quay waits for a response during network operations, similar to the -o nettimeout option in ldapsearch.

      Default: 10

      @@ -2217,198 +2217,198 @@ - dc=com # ...
      1
      Configures specified users as superusers. -

      3.18. Mirroring configuration fields

      Table 3.16. Mirroring configuration

      FieldTypeDescription
      +

      3.18. Mirroring configuration fields

      Table 3.16. Mirroring configuration

      FieldTypeDescription

      FEATURE_REPO_MIRROR

      -
      +

      Boolean

      -
      +

      Enable or disable repository mirroring

      Default: false

      -
      +

      REPO_MIRROR_INTERVAL

      -
      +

      Number

      -
      +

      The number of seconds between checking for repository mirror candidates

      Default: 30

      -
      +

      REPO_MIRROR_SERVER_HOSTNAME

      -
      +

      String

      -
      +

      Replaces the SERVER_HOSTNAME as the destination for mirroring.

      Default: None

      Example:
      openshift-quay-service

      -
      +

      REPO_MIRROR_TLS_VERIFY

      -
      +

      Boolean

      -
      +

      Require HTTPS and verify certificates of Quay registry during mirror.

      Default: true

      -
      +

      REPO_MIRROR_ROLLBACK

      -
      +

      Boolean

      -
      +

      When set to true, the repository rolls back after a failed mirror attempt.

      Default: false

      -

      3.19. Security scanner configuration fields

      Table 3.17. Security scanner configuration

      FieldTypeDescription
      +

      3.19. Security scanner configuration fields

      Table 3.17. Security scanner configuration

      FieldTypeDescription

      FEATURE_SECURITY_SCANNER

      -
      +

      Boolean

      -
      +

      Enable or disable the security scanner

      Default: false

      -
      +

      FEATURE_SECURITY_NOTIFICATIONS

      -
      +

      Boolean

      -
      +

      If the security scanner is enabled, turn on or turn off security notifications

      Default: false

      -
      +

      SECURITY_SCANNER_V4_REINDEX_THRESHOLD

      -
      +

      String

      -
      +

      This parameter is used to determine the minimum time, in seconds, to wait before re-indexing a manifest that has either previously failed or has changed states since the last indexing. The data is calculated from the last_indexed datetime in the manifestsecuritystatus table. This parameter is used to avoid trying to re-index every failed manifest on every indexing run. The default time to re-index is 300 seconds.

      -
      +

      SECURITY_SCANNER_V4_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint for the V4 security scanner

      Pattern:
      ^http(s)?://(.)+$

      Example:
      http://192.168.99.101:6060

      -
      +

      SECURITY_SCANNER_V4_PSK

      -
      +

      String

      -
      +

      The generated pre-shared key (PSK) for Clair

      -
      +

      SECURITY_SCANNER_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint for the V2 security scanner

      Pattern:
      ^http(s)?://(.)+$

      Example:
      http://192.168.99.100:6060

      -
      +

      SECURITY_SCANNER_INDEXING_INTERVAL

      -
      +

      Integer

      -
      +

      This parameter is used to determine the number of seconds between indexing intervals in the security scanner. When indexing is triggered, Red Hat Quay will query its database for manifests that must be indexed by Clair. These include manifests that have not yet been indexed and manifests that previously failed indexing.

      Default: 30

      -
      +

      FEATURE_SECURITY_SCANNER_NOTIFY_ON_NEW_INDEX

      -
      +

      Boolean

      -
      +

      Whether to allow sending notifications about vulnerabilities for new pushes.
      Default: True

      -
      +

      SECURITY_SCANNER_V4_MANIFEST_CLEANUP

      -
      +

      Boolean

      -
      +

      Whether the Red Hat Quay garbage collector removes manifests that are not referenced by other tags or manifests.
      Default: True

      -
      +

      NOTIFICATION_MIN_SEVERITY_ON_NEW_INDEX

      -
      +

      String

      -
      +

      Set minimal security level for new notifications on detected vulnerabilities. Avoids creation of large number of notifications after first index. If not defined, defaults to High. Available options include Critical, High, Medium, Low, Negligible, and Unknown.

      -
      +

      SECURITY_SCANNER_V4_INDEX_MAX_LAYER_SIZE

      -
      +

      String

      -
      +

      The maximum layer size allowed for indexing. If the layer size exceeds the configured size, the Red Hat Quay UI returns the following message: The manifest for this tag has layer(s) that are too large to index by the Quay Security Scanner. The default is 8G, and the maximum recommended is 10G. Accepted values are B, K, M, T, and G.
      Default: 8G

      @@ -2435,101 +2435,101 @@ ...

      1
      Recommended maximum is 10G. -

      3.20. Helm configuration fields

      Table 3.18. Helm configuration fields

      FieldTypeDescription
      +

      3.20. Helm configuration fields

      Table 3.18. Helm configuration fields

      FieldTypeDescription

      FEATURE_GENERAL_OCI_SUPPORT

      -
      +

      Boolean

      -
      +

      Enable support for OCI artifacts.

      Default: True

      The following Open Container Initiative (OCI) artifact types are built into Red Hat Quay by default and are enabled through the FEATURE_GENERAL_OCI_SUPPORT configuration field: -

      FieldMedia TypeSupported content types
      +

      FieldMedia TypeSupported content types

      Helm

      -
      +

      application/vnd.cncf.helm.config.v1+json

      -
      +

      application/tar+gzip, application/vnd.cncf.helm.chart.content.v1.tar+gzip

      -
      +

      Cosign

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.dev.cosign.simplesigning.v1+json, application/vnd.dsse.envelope.v1+json

      -
      +

      SPDX

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      text/spdx, text/spdx+xml, text/spdx+json

      -
      +

      Syft

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.syft+json

      -
      +

      CycloneDX

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.cyclonedx, application/vnd.cyclonedx+xml, application/vnd.cyclonedx+json

      -
      +

      In-toto

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.in-toto+json

      -
      +

      Unknown

      -
      +

      application/vnd.cncf.openpolicyagent.policy.layer.v1+rego

      -
      +

      application/vnd.cncf.openpolicyagent.policy.layer.v1+rego, application/vnd.cncf.openpolicyagent.data.layer.v1+json

      @@ -2538,15 +2538,15 @@

      Helm YAML configuration

      FEATURE_GENERAL_OCI_SUPPORT: true
      -

      3.21. Open Container Initiative configuration fields

      Table 3.19. Additional OCI artifact configuration field

      FieldTypeDescription
      +

      3.21. Open Container Initiative configuration fields

      Table 3.19. Additional OCI artifact configuration field

      FieldTypeDescription

      FEATURE_REFERRERS_API

      -
      +

      Boolean

      -
      +

      Enables OCI 1.1’s referrers API.

      @@ -2555,15 +2555,15 @@
      # ...
       FEATURE_REFERRERS_API: True
       # ...
      -

      3.22. Unknown media types

      Table 3.20. Unknown media types configuration field

      FieldTypeDescription
      +

      3.22. Unknown media types

      Table 3.20. Unknown media types configuration field

      FieldTypeDescription

      IGNORE_UNKNOWN_MEDIATYPES

      -
      +

      Boolean

      -
      +

      When enabled, allows a container registry platform to disregard specific restrictions on supported artifact types and accept any unrecognized or unknown media types.

      @@ -2575,51 +2575,51 @@

      Unknown media types YAML configuration

      IGNORE_UNKNOWN_MEDIATYPES: true
      -

      3.23. Action log configuration fields

      3.23.1. Action log storage configuration

      Table 3.21. Action log storage configuration

      FieldTypeDescription
      +

      3.23. Action log configuration fields

      3.23.1. Action log storage configuration

      Table 3.21. Action log storage configuration

      FieldTypeDescription

      FEATURE_LOG_EXPORT

      -
      +

      Boolean

      -
      +

      Whether to allow exporting of action logs.

      Default: True

      -
      +

      LOGS_MODEL

      -
      +

      String

      -
      +

      Specifies the preferred method for handling log data.

      Values: One of database, transition_reads_both_writes_es, elasticsearch, splunk
      Default: database

      -
      +

      LOGS_MODEL_CONFIG

      -
      +

      Object

      -
      +

      Logs model config for action logs.

      -
      +

      ALLOW_WITHOUT_STRICT_LOGGING

      -
      +

      Boolean

      -
      +

      When set to True, if the external log system like Splunk or ElasticSearch is intermittently unavailable, allows users to push images normally. Events are logged to the stdout instead. Overrides ALLOW_PULLS_WITHOUT_STRICT_LOGGING if set.

      Default: False

      @@ -2779,787 +2779,787 @@ index: quay 7 splunk_host: quay-dev 8 splunk_sourcetype: quay_logs 9 -# ...

      3.23.2. Action log rotation and archiving configuration

      Table 3.22. Action log rotation and archiving configuration

      FieldTypeDescription
      +# ...

      3.23.2. Action log rotation and archiving configuration

      Table 3.22. Action log rotation and archiving configuration

      FieldTypeDescription

      FEATURE_ACTION_LOG_ROTATION

      -
      +

      Boolean

      -
      +

      Enabling log rotation and archival will move all logs older than 30 days to storage.

      Default: false

      -
      +

      ACTION_LOG_ARCHIVE_LOCATION

      -
      +

      String

      -
      +

      If action log archiving is enabled, the storage engine in which to place the archived data.

      Example:: s3_us_east

      -
      +

      ACTION_LOG_ARCHIVE_PATH

      -
      +

      String

      -
      +

      If action log archiving is enabled, the path in storage in which to place the archived data.

      Example: archives/actionlogs

      -
      +

      ACTION_LOG_ROTATION_THRESHOLD

      -
      +

      String

      -
      +

      The time interval after which to rotate logs.

      Example: 30d

      -

      3.23.3. Action log audit configuration

      Table 3.23. Audit logs configuration field

      FieldTypeDescription
      +

      3.23.3. Action log audit configuration

      Table 3.23. Audit logs configuration field

      FieldTypeDescription

      ACTION_LOG_AUDIT_LOGINS

      -
      +

      Boolean

      -
      +

      When set to True, tracks advanced events such as logging into, and out of, the UI, and logging in using Docker for regular users, robot accounts, and for application-specific token accounts.

      Default: True

      -

      3.24. Build logs configuration fields

      Table 3.24. Build logs configuration fields

      FieldTypeDescription
      +

      3.24. Build logs configuration fields

      Table 3.24. Build logs configuration fields

      FieldTypeDescription

      FEATURE_READER_BUILD_LOGS

      -
      +

      Boolean

      -
      +

      If set to true, build logs can be read by those with read access to the repository, rather than only write access or admin access.

      Default: False

      -
      +

      LOG_ARCHIVE_LOCATION

      -
      +

      String

      -
      +

      The storage location, defined in DISTRIBUTED_STORAGE_CONFIG, in which to place the archived build logs.

      Example: s3_us_east

      -
      +

      LOG_ARCHIVE_PATH

      -
      +

      String

      -
      +

      The path under the configured storage engine in which to place the archived build logs in .JSON format.

      Example: archives/buildlogs

      -

      3.25. Dockerfile build triggers fields

      Table 3.25. Dockerfile build support

      FieldTypeDescription
      +

      3.25. Dockerfile build triggers fields

      Table 3.25. Dockerfile build support

      FieldTypeDescription

      FEATURE_BUILD_SUPPORT

      -
      +

      Boolean

      -
      +

      Whether to support Dockerfile build.

      Default: False

      -
      +

      SUCCESSIVE_TRIGGER_FAILURE_DISABLE_THRESHOLD

      -
      +

      Number

      -
      +

      If not set to None, the number of successive failures that can occur before a build trigger is automatically disabled.

      Default: 100

      -
      +

      SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD

      -
      +

      Number

      -
      +

      If not set to None, the number of successive internal errors that can occur before a build trigger is automatically disabled

      Default: 5

      -

      3.25.1. GitHub build triggers

      Table 3.26. GitHub build triggers

      FieldTypeDescription
      +

      3.25.1. GitHub build triggers

      Table 3.26. GitHub build triggers

      FieldTypeDescription

      FEATURE_GITHUB_BUILD

      -
      +

      Boolean

      -
      +

      Whether to support GitHub build triggers.

      Default: False

      -
      +

       

      -
      +

       

      -
      +

       

      -
      +

      GITHUB_TRIGGER_CONFIG

      -
      +

      Object

      -
      +

      Configuration for using GitHub Enterprise for build triggers.

      -
      +

         .GITHUB_ENDPOINT
         (Required)

      -
      +

      String

      -
      +

      The endpoint for GitHub Enterprise.

      Example: https://github.com/

      -
      +

         .API_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint of the GitHub Enterprise API to use. Must be overridden for github.com.

      Example: https://api.github.com/

      -
      +

         .CLIENT_ID
         (Required)

      -
      +

      String

      -
      +

      The registered client ID for this Red Hat Quay instance; this cannot be shared with GITHUB_LOGIN_CONFIG.

      -
      +

         .CLIENT_SECRET
         (Required)

      -
      +

      String

      -
      +

      The registered client secret for this Red Hat Quay instance.

      -

      3.25.2. BitBucket build triggers

      Table 3.27. BitBucket build triggers

      FieldTypeDescription
      +

      3.25.2. BitBucket build triggers

      Table 3.27. BitBucket build triggers

      FieldTypeDescription

      FEATURE_BITBUCKET_BUILD

      -
      +

      Boolean

      -
      +

      Whether to support Bitbucket build triggers.

      Default: False

      -
      +

       

      -
      +

       

      -
      +

       

      -
      +

      BITBUCKET_TRIGGER_CONFIG

      -
      +

      Object

      -
      +

      Configuration for using BitBucket for build triggers.

      -
      +

         .CONSUMER_KEY
         (Required)

      -
      +

      String

      -
      +

      The registered consumer key (client ID) for this Red Hat Quay instance.

      -
      +

         .CONSUMER_SECRET
         (Required)

      -
      +

      String

      -
      +

      The registered consumer secret (client secret) for this Red Hat Quay instance.

      -

      3.25.3. GitLab build triggers

      Table 3.28. GitLab build triggers

      FieldTypeDescription
      +

      3.25.3. GitLab build triggers

      Table 3.28. GitLab build triggers

      FieldTypeDescription

      FEATURE_GITLAB_BUILD

      -
      +

      Boolean

      -
      +

      Whether to support GitLab build triggers.

      Default: False

      -
      +

       

      -
      +

       

      -
      +

       

      -
      +

      GITLAB_TRIGGER_CONFIG

      -
      +

      Object

      -
      +

      Configuration for using Gitlab for build triggers.

      -
      +

         .GITLAB_ENDPOINT
         (Required)

      -
      +

      String

      -
      +

      The endpoint at which Gitlab Enterprise is running.

      -
      +

         .CLIENT_ID
         (Required)

      -
      +

      String

      -
      +

      The registered client ID for this Red Hat Quay instance.

      -
      +

         .CLIENT_SECRET
         (Required)

      -
      +

      String

      -
      +

      The registered client secret for this Red Hat Quay instance.

      -

      3.26. Build manager configuration fields

      Table 3.29. Build manager configuration fields

      FieldTypeDescription
      +

      3.26. Build manager configuration fields

      Table 3.29. Build manager configuration fields

      FieldTypeDescription

      ALLOWED_WORKER_COUNT

      -
      +

      String

      -
      +

      Defines how many Build Workers are instantiated per Red Hat Quay pod. Typically set to 1.

      -
      +

      ORCHESTRATOR_PREFIX

      -
      +

      String

      -
      +

      Defines a unique prefix to be added to all Redis keys. This is useful to isolate Orchestrator values from other Redis keys.

      -
      +

      REDIS_HOST

      -
      +

      Object

      -
      +

      The hostname for your Redis service.

      -
      +

      REDIS_PASSWORD

      -
      +

      String

      -
      +

      The password to authenticate into your Redis service.

      -
      +

      REDIS_SSL

      -
      +

      Boolean

      -
      +

      Defines whether or not your Redis connection uses SSL/TLS.

      -
      +

      REDIS_SKIP_KEYSPACE_EVENT_SETUP

      -
      +

      Boolean

      -
      +

      By default, Red Hat Quay does not set up the keyspace events required for key events at runtime. To do so, set REDIS_SKIP_KEYSPACE_EVENT_SETUP to false.

      -
      +

      EXECUTOR

      -
      +

      String

      -
      +

      Starts a definition of an Executor of this type. Valid values are kubernetes and ec2.

      -
      +

      BUILDER_NAMESPACE

      -
      +

      String

      -
      +

      Kubernetes namespace where Red Hat Quay Builds will take place.

      -
      +

      K8S_API_SERVER

      -
      +

      Object

      -
      +

      Hostname for API Server of the OpenShift Container Platform cluster where Builds will take place.

      -
      +

      K8S_API_TLS_CA

      -
      +

      Object

      -
      +

      The filepath in the Quay container of the Build cluster’s CA certificate for the Quay application to trust when making API calls.

      -
      +

      KUBERNETES_DISTRIBUTION

      -
      +

      String

      -
      +

      Indicates which type of Kubernetes is being used. Valid values are openshift and k8s.

      -
      +

      CONTAINER_*

      -
      +

      Object

      -
      +

      Define the resource requests and limits for each build pod.

      -
      +

      NODE_SELECTOR_*

      -
      +

      Object

      -
      +

      Defines the node selector label name-value pair where build Pods should be scheduled.

      -
      +

      CONTAINER_RUNTIME

      -
      +

      Object

      -
      +

      Specifies whether the Builder should run docker or podman. Customers using Red Hat’s quay-builder image should set this to podman.

      -
      +

      SERVICE_ACCOUNT_NAME/SERVICE_ACCOUNT_TOKEN

      -
      +

      Object

      -
      +

      Defines the Service Account name or token that will be used by build pods.

      -
      +

      QUAY_USERNAME/QUAY_PASSWORD

      -
      +

      Object

      -
      +

      Defines the registry credentials needed to pull the Red Hat Quay build worker image that is specified in the WORKER_IMAGE field. Customers should provide a Red Hat Service Account credential as defined in the section "Creating Registry Service Accounts" against registry.redhat.io in the article at https://access.redhat.com/RegistryAuthentication.

      -
      +

      WORKER_IMAGE

      -
      +

      Object

      -
      +

      Image reference for the Red Hat Quay Builder image. registry.redhat.io/quay/quay-builder

      -
      +

      WORKER_TAG

      -
      +

      Object

      -
      +

      Tag for the Builder image desired. The latest version is 3.13.

      -
      +

      BUILDER_VM_CONTAINER_IMAGE

      -
      +

      Object

      -
      +

      The full reference to the container image holding the internal VM needed to run each Red Hat Quay Build. (registry.redhat.io/quay/quay-builder-qemu-rhcos:3.13).

      -
      +

      SETUP_TIME

      -
      +

      String

      -
      +

      Specifies the number of seconds at which a Build times out if it has not yet registered itself with the Build Manager. Defaults at 500 seconds. Builds that time out are attempted to be restarted three times. If the Build does not register itself after three attempts it is considered failed.

      -
      +

      MINIMUM_RETRY_THRESHOLD

      -
      +

      String

      -
      +

      This setting is used with multiple Executors. It indicates how many retries are attempted to start a Build before a different Executor is chosen. Setting to 0 means there are no restrictions on how many tries the build job needs to have. This value should be kept intentionally small (three or less) to ensure failovers happen quickly during infrastructure failures. You must specify a value for this setting. For example, Kubernetes is set as the first executor and EC2 as the second executor. If you want the last attempt to run a job to always be executed on EC2 and not Kubernetes, you can set the Kubernetes executor’s MINIMUM_RETRY_THRESHOLD to 1 and EC2’s MINIMUM_RETRY_THRESHOLD to 0 (defaults to 0 if not set). In this case, the Kubernetes' MINIMUM_RETRY_THRESHOLD retries_remaining(1) would evaluate to False, therefore falling back to the second executor configured.

      -
      +

      SSH_AUTHORIZED_KEYS

      -
      +

      Object

      -
      +

      List of SSH keys to bootstrap in the ignition config. This allows other keys to be used to SSH into the EC2 instance or QEMU virtual machine (VM).

      -

      3.27. OAuth configuration fields

      Table 3.30. OAuth fields

      FieldTypeDescription
      +

      3.27. OAuth configuration fields

      Table 3.30. OAuth fields

      FieldTypeDescription

      DIRECT_OAUTH_CLIENTID_WHITELIST

      -
      +

      Array of String

      -
      +

      A list of client IDs for Quay-managed applications that are allowed to perform direct OAuth approval without user approval.

      -
      +

      FEATURE_ASSIGN_OAUTH_TOKEN

      -
      +

      Boolean

      -
      +

      Allows organization administrators to assign OAuth tokens to other users.

      -

      3.27.1. GitHub OAuth configuration fields

      Table 3.31. GitHub OAuth fields

      FieldTypeDescription
      +

      3.27.1. GitHub OAuth configuration fields

      Table 3.31. GitHub OAuth fields

      FieldTypeDescription

      FEATURE_GITHUB_LOGIN

      -
      +

      Boolean

      -
      +

      Whether GitHub login is supported

      **Default: False

      -
      +

      GITHUB_LOGIN_CONFIG

      -
      +

      Object

      -
      +

      Configuration for using GitHub (Enterprise) as an external login provider.

      -
      +

         .ALLOWED_ORGANIZATIONS

      -
      +

      Array of String

      -
      +

      The names of the GitHub (Enterprise) organizations whitelisted to work with the ORG_RESTRICT option.

      -
      +

         .API_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint of the GitHub (Enterprise) API to use. Must be overridden for github.com

      Example: https://api.github.com/

      -
      +

         .CLIENT_ID
         (Required)

      -
      +

      String

      -
      +

      The registered client ID for this Red Hat Quay instance; cannot be shared with GITHUB_TRIGGER_CONFIG.

      Example: 0e8dbe15c4c7630b6780

      -
      +

         .CLIENT_SECRET
         (Required)

      -
      +

      String

      -
      +

      The registered client secret for this Red Hat Quay instance.

      Example: e4a58ddd3d7408b7aec109e85564a0d153d3e846

      -
      +

         .GITHUB_ENDPOINT
         (Required)

      -
      +

      String

      -
      +

      The endpoint for GitHub (Enterprise).

      Example: https://github.com/

      -
      +

         .ORG_RESTRICT

      -
      +

      Boolean

      -
      +

      If true, only users within the organization whitelist can login using this provider.

      -

      3.27.2. Google OAuth configuration fields

      Table 3.32. Google OAuth fields

      FieldTypeDescription
      +

      3.27.2. Google OAuth configuration fields

      Table 3.32. Google OAuth fields

      FieldTypeDescription

      FEATURE_GOOGLE_LOGIN

      -
      +

      Boolean

      -
      +

      Whether Google login is supported.

      **Default: False

      -
      +

      GOOGLE_LOGIN_CONFIG

      -
      +

      Object

      -
      +

      Configuration for using Google for external authentication.

      -
      +

         .CLIENT_ID
         (Required)

      -
      +

      String

      -
      +

      The registered client ID for this Red Hat Quay instance.

      Example: 0e8dbe15c4c7630b6780

      -
      +

         .CLIENT_SECRET
         (Required)

      -
      +

      String

      -
      +

      The registered client secret for this Red Hat Quay instance.

      Example: e4a58ddd3d7408b7aec109e85564a0d153d3e846

      -

      3.28. OIDC configuration fields

      Table 3.33. OIDC fields

      +

      3.28. OIDC configuration fields

      Table 3.33. OIDC fields

      Field

      @@ -3771,15 +3771,15 @@ # ...

      3.29. Nested repositories configuration fields

      Support for nested repository path names has been added under the FEATURE_EXTENDED_REPOSITORY_NAMES property. This optional configuration is added to the config.yaml by default. Enablement allows the use of / in repository names. -

      Table 3.34. OCI and nested repositories configuration fields

      FieldTypeDescription
      +

      Table 3.34. OCI and nested repositories configuration fields

      FieldTypeDescription

      FEATURE_EXTENDED_REPOSITORY_NAMES

      -
      +

      Boolean

      -
      +

      Enable support for nested repositories

      Default: True

      @@ -3788,357 +3788,357 @@
      FEATURE_EXTENDED_REPOSITORY_NAMES: true

      3.30. QuayIntegration configuration fields

      The following configuration fields are available for the QuayIntegration custom resource: -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      allowlistNamespaces
      (Optional)

      -
      +

      A list of namespaces to include.

      -
      +

      Array

      -
      +

      clusterID
      (Required)

      -
      +

      The ID associated with this cluster.

      -
      +

      String

      -
      +

      credentialsSecret.key
      (Required)

      -
      +

      The secret containing credentials to communicate with the Quay registry.

      -
      +

      Object

      -
      +

      denylistNamespaces
      (Optional)

      -
      +

      A list of namespaces to exclude.

      -
      +

      Array

      -
      +

      insecureRegistry
      (Optional)

      -
      +

      Whether to skip TLS verification to the Quay registry

      -
      +

      Boolean

      -
      +

      quayHostname
      (Required)

      -
      +

      The hostname of the Quay registry.

      -
      +

      String

      -
      +

      scheduledImageStreamImport
      (Optional)

      -
      +

      Whether to enable image stream importing.

      -
      +

      Boolean

      -

      3.31. Mail configuration fields

      Table 3.35. Mail configuration fields

      FieldTypeDescription
      +

      3.31. Mail configuration fields

      Table 3.35. Mail configuration fields

      FieldTypeDescription

      FEATURE_MAILING

      -
      +

      Boolean

      -
      +

      Whether emails are enabled

      Default: False

      -
      +

      MAIL_DEFAULT_SENDER

      -
      +

      String

      -
      +

      If specified, the e-mail address used as the from when Red Hat Quay sends e-mails. If none, defaults to support@quay.io

      Example: support@example.com

      -
      +

      MAIL_PASSWORD

      -
      +

      String

      -
      +

      The SMTP password to use when sending e-mails

      -
      +

      MAIL_PORT

      -
      +

      Number

      -
      +

      The SMTP port to use. If not specified, defaults to 587.

      -
      +

      MAIL_SERVER

      -
      +

      String

      -
      +

      The SMTP server to use for sending e-mails. Only required if FEATURE_MAILING is set to true.

      Example: smtp.example.com

      -
      +

      MAIL_USERNAME

      -
      +

      String

      -
      +

      The SMTP username to use when sending e-mails

      -
      +

      MAIL_USE_TLS

      -
      +

      Boolean

      -
      +

      If specified, whether to use TLS for sending e-mails

      Default: True

      -

      3.32. User configuration fields

      Table 3.36. User configuration fields

      FieldTypeDescription
      +

      3.32. User configuration fields

      Table 3.36. User configuration fields

      FieldTypeDescription

      FEATURE_SUPER_USERS

      -
      +

      Boolean

      -
      +

      Whether superusers are supported

      Default: true

      -
      +

      FEATURE_USER_CREATION

      -
      +

      Boolean

      -
      +

      Whether users can be created (by non-superusers)

      Default: true

      -
      +

      FEATURE_USER_LAST_ACCESSED

      -
      +

      Boolean

      -
      +

      Whether to record the last time a user was accessed

      Default: true

      -
      +

      FEATURE_USER_LOG_ACCESS

      -
      +

      Boolean

      -
      +

      If set to true, users will have access to audit logs for their namespace

      Default: false

      -
      +

      FEATURE_USER_METADATA

      -
      +

      Boolean

      -
      +

      Whether to collect and support user metadata

      Default: false

      -
      +

      FEATURE_USERNAME_CONFIRMATION

      -
      +

      Boolean

      -
      +

      If set to true, users can confirm and modify their initial usernames when logging in via OpenID Connect (OIDC) or a non-database internal authentication provider like LDAP.
      Default: true

      -
      +

      FEATURE_USER_RENAME

      -
      +

      Boolean

      -
      +

      If set to true, users can rename their own namespace

      Default: false

      -
      +

      FEATURE_INVITE_ONLY_USER_CREATION

      -
      +

      Boolean

      -
      +

      Whether users being created must be invited by another user

      Default: false

      -
      +

      FRESH_LOGIN_TIMEOUT

      -
      +

      String

      -
      +

      The time after which a fresh login requires users to re-enter their password

      Example: 5m

      -
      +

      USERFILES_LOCATION

      -
      +

      String

      -
      +

      ID of the storage engine in which to place user-uploaded files

      Example: s3_us_east

      -
      +

      USERFILES_PATH

      -
      +

      String

      -
      +

      Path under storage in which to place user-uploaded files

      Example: userfiles

      -
      +

      USER_RECOVERY_TOKEN_LIFETIME

      -
      +

      String

      -
      +

      The length of time a token for recovering a user accounts is valid

      Pattern: ^[0-9]+(w|m|d|h|s)$
      Default: 30m

      -
      +

      FEATURE_SUPERUSERS_FULL_ACCESS

      -
      +

      Boolean

      -
      +

      Grants superusers the ability to read, write, and delete content from other repositories in namespaces that they do not own or have explicit permissions for.

      Default: False

      -
      +

      FEATURE_SUPERUSERS_ORG_CREATION_ONLY

      -
      +

      Boolean

      -
      +

      Whether to only allow superusers to create organizations.

      Default: False

      -
      +

      FEATURE_RESTRICTED_USERS

      -
      +

      Boolean

      -
      +

      When set to True with RESTRICTED_USERS_WHITELIST:

      @@ -4150,27 +4150,27 @@

      Default: False

      -
      +

      RESTRICTED_USERS_WHITELIST

      -
      +

      String

      -
      +

      When set with FEATURE_RESTRICTED_USERS: true, specific users are excluded from the FEATURE_RESTRICTED_USERS setting.

      -
      +

      GLOBAL_READONLY_SUPER_USERS

      -
      +

      String

      -
      +

      When set, grants users of this list read access to all repositories, regardless of whether they are public repositories. Only works for those superusers defined with the SUPER_USERS configuration field.

      @@ -4199,683 +4199,683 @@ - user1 ---
      Note

      When this field is set, whitelisted users can create organizations, or read or write content from the repository even if FEATURE_RESTRICTED_USERS is set to true. Other users, for example, user2, user3, and user4 are restricted from creating organizations, reading, or writing content -

      3.33. Recaptcha configuration fields

      Table 3.37. Recaptcha configuration fields

      FieldTypeDescription
      +

      3.33. Recaptcha configuration fields

      Table 3.37. Recaptcha configuration fields

      FieldTypeDescription

      FEATURE_RECAPTCHA

      -
      +

      Boolean

      -
      +

      Whether Recaptcha is necessary for user login and recovery

      Default: False

      -
      +

      RECAPTCHA_SECRET_KEY

      -
      +

      String

      -
      +

      If recaptcha is enabled, the secret key for the Recaptcha service

      -
      +

      RECAPTCHA_SITE_KEY

      -
      +

      String

      -
      +

      If recaptcha is enabled, the site key for the Recaptcha service

      -

      3.34. ACI configuration fields

      Table 3.38. ACI configuration fields

      FieldTypeDescription
      +

      3.34. ACI configuration fields

      Table 3.38. ACI configuration fields

      FieldTypeDescription

      FEATURE_ACI_CONVERSION

      -
      +

      Boolean

      -
      +

      Whether to enable conversion to ACIs

      Default: False

      -
      +

      GPG2_PRIVATE_KEY_FILENAME

      -
      +

      String

      -
      +

      The filename of the private key used to decrypte ACIs

      -
      +

      GPG2_PRIVATE_KEY_NAME

      -
      +

      String

      -
      +

      The name of the private key used to sign ACIs

      -
      +

      GPG2_PUBLIC_KEY_FILENAME

      -
      +

      String

      -
      +

      The filename of the public key used to encrypt ACIs

      -

      3.35. JWT configuration fields

      Table 3.39. JWT configuration fields

      FieldTypeDescription
      +

      3.35. JWT configuration fields

      Table 3.39. JWT configuration fields

      FieldTypeDescription

      JWT_AUTH_ISSUER

      -
      +

      String

      -
      +

      The endpoint for JWT users

      Pattern: ^http(s)?://(.)+$
      Example: http://192.168.99.101:6060

      -
      +

      JWT_GETUSER_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint for JWT users
      Pattern: ^http(s)?://(.)+$
      Example: http://192.168.99.101:6060

      -
      +

      JWT_QUERY_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint for JWT queries

      Pattern: ^http(s)?://(.)+$
      Example: http://192.168.99.101:6060

      -
      +

      JWT_VERIFY_ENDPOINT

      -
      +

      String

      -
      +

      The endpoint for JWT verification

      Pattern: ^http(s)?://(.)+$
      Example: http://192.168.99.101:6060

      -

      3.36. App tokens configuration fields

      Table 3.40. App tokens configuration fields

      FieldTypeDescription
      +

      3.36. App tokens configuration fields

      Table 3.40. App tokens configuration fields

      FieldTypeDescription

      FEATURE_APP_SPECIFIC_TOKENS

      -
      +

      Boolean

      -
      +

      If enabled, users can create tokens for use by the Docker CLI

      Default: True

      -
      +

      APP_SPECIFIC_TOKEN_EXPIRATION

      -
      +

      String

      -
      +

      The expiration for external app tokens.

      Default None
      Pattern: ^[0-9]+(w|m|d|h|s)$

      -
      +

      EXPIRED_APP_SPECIFIC_TOKEN_GC

      -
      +

      String

      -
      +

      Duration of time expired external app tokens will remain before being garbage collected

      Default: 1d

      -

      3.37. Miscellaneous configuration fields

      Table 3.41. Miscellaneous configuration fields

      FieldTypeDescription
      +

      3.37. Miscellaneous configuration fields

      Table 3.41. Miscellaneous configuration fields

      FieldTypeDescription

      ALLOW_PULLS_WITHOUT_STRICT_LOGGING

      -
      +

      String

      -
      +

      If true, pulls will still succeed even if the pull audit log entry cannot be written . This is useful if the database is in a read-only state and it is desired for pulls to continue during that time.

      Default: False

      -
      +

      AVATAR_KIND

      -
      +

      String

      -
      +

      The types of avatars to display, either generated inline (local) or Gravatar (gravatar)

      Values: local, gravatar

      -
      +

      BROWSER_API_CALLS_XHR_ONLY

      -
      +

      Boolean

      -
      +

      If enabled, only API calls marked as being made by an XHR will be allowed from browsers

      Default: True

      -
      +

      DEFAULT_NAMESPACE_MAXIMUM_BUILD_COUNT

      -
      +

      Number

      -
      +

      The default maximum number of builds that can be queued in a namespace.

      Default: None

      -
      +

      ENABLE_HEALTH_DEBUG_SECRET

      -
      +

      String

      -
      +

      If specified, a secret that can be given to health endpoints to see full debug info when not authenticated as a superuser

      -
      +

      EXTERNAL_TLS_TERMINATION

      -
      +

      Boolean

      -
      +

      Set to true if TLS is supported, but terminated at a layer before Quay. Set to false when Quay is running with its own SSL certificates and receiving TLS traffic directly.

      -
      +

      FRESH_LOGIN_TIMEOUT

      -
      +

      String

      -
      +

      The time after which a fresh login requires users to re-enter their password

      Example: 5m

      -
      +

      HEALTH_CHECKER

      -
      +

      String

      -
      +

      The configured health check

      Example: ('RDSAwareHealthCheck', {'access_key': 'foo', 'secret_key': 'bar'})

      -
      +

      PROMETHEUS_NAMESPACE

      -
      +

      String

      -
      +

      The prefix applied to all exposed Prometheus metrics

      Default: quay

      -
      +

      PUBLIC_NAMESPACES

      -
      +

      Array of String

      -
      +

      If a namespace is defined in the public namespace list, then it will appear on all users' repository list pages, regardless of whether the user is a member of the namespace. Typically, this is used by an enterprise customer in configuring a set of "well-known" namespaces.

      -
      +

      REGISTRY_STATE

      -
      +

      String

      -
      +

      The state of the registry

      Values: normal or read-only

      -
      +

      SEARCH_MAX_RESULT_PAGE_COUNT

      -
      +

      Number

      -
      +

      Maximum number of pages the user can paginate in search before they are limited

      Default: 10

      -
      +

      SEARCH_RESULTS_PER_PAGE

      -
      +

      Number

      -
      +

      Number of results returned per page by search page

      Default: 10

      -
      +

      V2_PAGINATION_SIZE

      -
      +

      Number

      -
      +

      The number of results returned per page in V2 registry APIs

      Default: 50

      -
      +

      WEBHOOK_HOSTNAME_BLACKLIST

      -
      +

      Array of String

      -
      +

      The set of hostnames to disallow from webhooks when validating, beyond localhost

      -
      +

      CREATE_PRIVATE_REPO_ON_PUSH

      -
      +

      Boolean

      -
      +

      Whether new repositories created by push are set to private visibility

      Default: True

      -
      +

      CREATE_NAMESPACE_ON_PUSH

      -
      +

      Boolean

      -
      +

      Whether new push to a non-existent organization creates it

      Default: False

      -
      +

      NON_RATE_LIMITED_NAMESPACES

      -
      +

      Array of String

      -
      +

      If rate limiting has been enabled using FEATURE_RATE_LIMITS, you can override it for specific namespace that require unlimited access.

      -
      +

      FEATURE_UI_V2

      -
      +

      Boolean

      -
      +

      When set, allows users to try the beta UI environment.

      Default: True

      -
      +

      FEATURE_REQUIRE_TEAM_INVITE

      -
      +

      Boolean

      -
      +

      Whether to require invitations when adding a user to a team

      Default: True

      -
      +

      FEATURE_REQUIRE_ENCRYPTED_BASIC_AUTH

      -
      +

      Boolean

      -
      +

      Whether non-encrypted passwords (as opposed to encrypted tokens) can be used for basic auth

      Default: False

      -
      +

      FEATURE_RATE_LIMITS

      -
      +

      Boolean

      -
      +

      Whether to enable rate limits on API and registry endpoints. Setting FEATURE_RATE_LIMITS to true causes nginx to limit certain API calls to 30 per second. If that feature is not set, API calls are limited to 300 per second (effectively unlimited).

      Default: False

      -
      +

      FEATURE_FIPS

      -
      +

      Boolean

      -
      +

      If set to true, Red Hat Quay will run using FIPS-compliant hash functions

      Default: False

      -
      +

      FEATURE_AGGREGATED_LOG_COUNT_RETRIEVAL

      -
      +

      Boolean

      -
      +

      Whether to allow retrieval of aggregated log counts

      Default: True

      -
      +

      FEATURE_ANONYMOUS_ACCESS

      -
      +

      Boolean

      -
      +

      Whether to allow anonymous users to browse and pull public repositories

      Default: True

      -
      +

      FEATURE_DIRECT_LOGIN

      -
      +

      Boolean

      -
      +

      Whether users can directly login to the UI

      Default: True

      -
      +

      FEATURE_LIBRARY_SUPPORT

      -
      +

      Boolean

      -
      +

      Whether to allow for "namespace-less" repositories when pulling and pushing from Docker

      Default: True

      -
      +

      FEATURE_PARTIAL_USER_AUTOCOMPLETE

      -
      +

      Boolean

      -
      +

      If set to true, autocompletion will apply to partial usernames+
      Default: True

      -
      +

      FEATURE_PERMANENT_SESSIONS

      -
      +

      Boolean

      -
      +

      Whether sessions are permanent

      Default: True

      -
      +

      FEATURE_PUBLIC_CATALOG

      -
      +

      Boolean

      -
      +

      If set to true, the _catalog endpoint returns public repositories. Otherwise, only private repositories can be returned.

      Default: False

      -
      +

      DISABLE_PUSHES

      -
      +

      Boolean

      -
      +

      Disables pushes of new content to the registry while retaining all other functionality. Differs from read-only mode because database is not set as read-only. When DISABLE_PUSHES is set to true, the Red Hat Quay garbage collector is disabled. As a result, when PERMANENTLY_DELETE_TAGS is enabled, using the Red Hat Quay UI to permanently delete a tag does not result in the immediate deletion of a tag. Instead, the image stays in the backend storage until DISABLE_PUSHES is set to false, which re-enables the garbage collector. Red Hat Quay administrators should be aware of this caveat when using DISABLE_PUSHES and PERMANENTLY_DELETE_TAGS together.

      Default: False

      3.38. Legacy configuration fields

      The following fields are deprecated or obsolete. -

      Table 3.42. Legacy configuration fields

      FieldTypeDescription
      +

      Table 3.42. Legacy configuration fields

      FieldTypeDescription

      FEATURE_BLACKLISTED_EMAILS

      -
      +

      Boolean

      -
      +

      If set to true, no new User accounts may be created if their email domain is blacklisted

      -
      +

      BLACKLISTED_EMAIL_DOMAINS

      -
      +

      Array of String

      -
      +

      The list of email-address domains that is used if FEATURE_BLACKLISTED_EMAILS is set to true

      Example: "example.com", "example.org"

      -
      +

      BLACKLIST_V2_SPEC

      -
      +

      String

      -
      +

      The Docker CLI versions to which Red Hat Quay will respond that V2 is unsupported

      Example: <1.8.0
      Default: <1.6.0

      -
      +

      DOCUMENTATION_ROOT

      -
      +

      String

      -
      +

      Root URL for documentation links. This field is useful when Red Hat Quay is configured for disconnected environments to set an alternatively, or allowlisted, documentation link.

      -
      +

      SECURITY_SCANNER_V4_NAMESPACE_WHITELIST

      -
      +

      String

      -
      +

      The namespaces for which the security scanner should be enabled

      -
      +

      FEATURE_RESTRICTED_V1_PUSH

      -
      +

      Boolean

      -
      +

      If set to true, only namespaces listed in V1_PUSH_WHITELIST support V1 push

      Default: False

      -
      +

      V1_PUSH_WHITELIST

      -
      +

      Array of String

      -
      +

      The array of namespace names that support V1 push if FEATURE_RESTRICTED_V1_PUSH is set to true

      -
      +

      FEATURE_HELM_OCI_SUPPORT

      -
      +

      Boolean

      -
      +

      Enable support for Helm artifacts.

      Default: False

      -
      +

      ALLOWED_OCI_ARTIFACT_TYPES

      -
      +

      Object

      -
      +

      The set of allowed OCI artifact MIME types and the associated layer types.

      -

      3.39. User interface v2 configuration fields

      Table 3.43. User interface v2 configuration fields

      FieldTypeDescription
      +

      3.39. User interface v2 configuration fields

      Table 3.43. User interface v2 configuration fields

      FieldTypeDescription

      FEATURE_UI_V2

      -
      +

      Boolean

      -
      +

      When set, allows users to try the beta UI environment.

      + Default: False

      -
      +

      FEATURE_UI_V2_REPO_SETTINGS

      -
      +

      Boolean

      -
      +

      When set to True, enables repository settings in the Red Hat Quay v2 UI.

      @@ -4902,15 +4902,15 @@ In the navigation pane of your Red Hat Quay deployment, you are given the option to toggle between Current UI and New UI. Click the toggle button to set it to new UI, and then click Use Beta Environment, for example:

      Red Hat Quay v2 UI toggle -

      3.40. IPv6 configuration field

      Table 3.44. IPv6 configuration field

      FieldTypeDescription
      +

      3.40. IPv6 configuration field

      Table 3.44. IPv6 configuration field

      FieldTypeDescription

      FEATURE_LISTEN_IP_VERSION

      -
      +

      String

      -
      +

      Enables IPv4, IPv6, or dual-stack protocol family. This configuration field must be properly set, otherwise Red Hat Quay fails to start.

      @@ -4920,54 +4920,54 @@

      Additional configurations: IPv6, dual-stack

      -

      3.41. Branding configuration fields

      Table 3.45. Branding configuration fields

      FieldTypeDescription
      +

      3.41. Branding configuration fields

      Table 3.45. Branding configuration fields

      FieldTypeDescription

      BRANDING

      -
      +

      Object

      -
      +

      Custom branding for logos and URLs in the Red Hat Quay UI.

      -
      +

      .logo
      (Required)

      -
      +

      String

      -
      +

      Main logo image URL.

      The header logo defaults to 205x30 PX. The form logo on the Red Hat Quay sign in screen of the web UI defaults to 356.5x39.7 PX.
      Example:
      /static/img/quay-horizontal-color.svg

      -
      +

      .footer_img

      -
      +

      String

      -
      +

      Logo for UI footer. Defaults to 144x34 PX.

      Example:
      /static/img/RedHat.svg

      -
      +

      .footer_url

      -
      +

      String

      -
      +

      Link for footer image.

      Example:
      https://redhat.com

      @@ -4979,15 +4979,15 @@ footer_url: https://opensourceworld.org/

      3.42. Session timeout configuration field

      The following configuration field relies on on the Flask API configuration field of the same name. -

      Table 3.46. Session logout configuration field

      FieldTypeDescription
      +

      Table 3.46. Session logout configuration field

      FieldTypeDescription

      PERMANENT_SESSION_LIFETIME

      -
      +

      Integer

      -
      +

      A timedelta which is used to set the expiration date of a permanent session. The default is 31 days, which makes a permanent session survive for roughly one month.

      @@ -5005,15 +5005,15 @@ Red Hat Quay supports a limited number of environment variables for dynamic configuration.

      4.1. Geo-replication

      The same configuration should be used across all regions, with exception of the storage backend, which can be configured explicitly using the QUAY_DISTRIBUTED_STORAGE_PREFERENCE environment variable. -

      Table 4.1. Geo-replication configuration

      VariableTypeDescription
      +

      Table 4.1. Geo-replication configuration

      VariableTypeDescription

      QUAY_DISTRIBUTED_STORAGE_PREFERENCE

      -
      +

      String

      -
      +

      The preferred storage engine (by ID in DISTRIBUTED_STORAGE_CONFIG) to use.

      @@ -5042,15 +5042,15 @@ env: - name: DB_CONNECTION_POOLING value: "false" -

      Table 4.2. Database connection pooling configuration

      VariableTypeDescription
      +

      Table 4.2. Database connection pooling configuration

      VariableTypeDescription

      DB_CONNECTION_POOLING

      -
      +

      String

      -
      +

      Whether to enable or disable database connection pooling. Defaults to true. Accepted values are "true" or "false"

      @@ -5064,125 +5064,125 @@ ...

      4.3. HTTP connection counts

      It is possible to specify the quantity of simultaneous HTTP connections using environment variables. These can be specified as a whole, or for a specific component. The default for each is 50 parallel connections per process. -

      Table 4.3. HTTP connection counts configuration

      VariableTypeDescription
      +

      Table 4.3. HTTP connection counts configuration

      VariableTypeDescription

      WORKER_CONNECTION_COUNT

      -
      +

      Number

      -
      +

      Simultaneous HTTP connections

      Default: 50

      -
      +

      WORKER_CONNECTION_COUNT_REGISTRY

      -
      +

      Number

      -
      +

      Simultaneous HTTP connections for registry

      Default: WORKER_CONNECTION_COUNT

      -
      +

      WORKER_CONNECTION_COUNT_WEB

      -
      +

      Number

      -
      +

      Simultaneous HTTP connections for web UI

      Default: WORKER_CONNECTION_COUNT

      -
      +

      WORKER_CONNECTION_COUNT_SECSCAN

      -
      +

      Number

      -
      +

      Simultaneous HTTP connections for Clair

      Default: WORKER_CONNECTION_COUNT

      -

      4.4. Worker count variables

      Table 4.4. Worker count variables

      VariableTypeDescription
      +

      4.4. Worker count variables

      Table 4.4. Worker count variables

      VariableTypeDescription

      WORKER_COUNT

      -
      +

      Number

      -
      +

      Generic override for number of processes

      -
      +

      WORKER_COUNT_REGISTRY

      -
      +

      Number

      -
      +

      Specifies the number of processes to handle Registry requests within the Quay container

      Values: Integer between 8 and 64

      -
      +

      WORKER_COUNT_WEB

      -
      +

      Number

      -
      +

      Specifies the number of processes to handle UI/Web requests within the container

      Values: Integer between 2 and 32

      -
      +

      WORKER_COUNT_SECSCAN

      -
      +

      Number

      -
      +

      Specifies the number of processes to handle Security Scanning (e.g. Clair) integration within the container

      Values: Integer. Because the Operator specifies 2 vCPUs for resource requests and limits, setting this value between 2 and 4 is safe. However, users can run more, for example, 16, if warranted.

      4.5. Debug variables

      The following debug variables are available on Red Hat Quay. -

      Table 4.5. Debug configuration variables

      VariableTypeDescription
      +

      Table 4.5. Debug configuration variables

      VariableTypeDescription

      DEBUGLOG

      -
      +

      Boolean

      -
      +

      Whether to enable or disable debug logs.

      -
      +

      USERS_DEBUG

      -
      +

      Integer. Either 0 or 1.

      -
      +

      Used to debug LDAP operations in clear text, including passwords. Must be used with DEBUGLOG=TRUE.

      @@ -5282,66 +5282,66 @@ The above YAML file lists every key for completeness. Using this configuration file as-is will result in some options not having their defaults set normally.

      5.1.3. Clair general fields

      The following table describes the general configuration fields available for a Clair deployment. -

      FieldTyphttp_listen_aeDescription
      +

      FieldTyphttp_listen_aeDescription

      http_listen_addr

      -
      +

      String

      -
      +

      Configures where the HTTP API is exposed.

      Default: :6060

      -
      +

      introspection_addr

      -
      +

      String

      -
      +

      Configures where Clair’s metrics and health endpoints are exposed.

      -
      +

      log_level

      -
      +

      String

      -
      +

      Sets the logging level. Requires one of the following strings: debug-color, debug, info, warn, error, fatal, panic

      -
      +

      tls

      -
      +

      String

      -
      +

      A map containing the configuration for serving the HTTP API of TLS/SSL and HTTP/2.

      -
      +

      .cert

      -
      +

      String

      -
      +

      The TLS certificate to be used. Must be a full-chain certificate.

      @@ -5356,141 +5356,141 @@ # ...

      5.1.4. Clair indexer configuration fields

      The following table describes the configuration fields for Clair’s indexer component. -

      FieldTypeDescription
      +

      FieldTypeDescription

      indexer

      -
      +

      Object

      -
      +

      Provides Clair indexer node configuration.

      -
      +

      .airgap

      -
      +

      Boolean

      -
      +

      Disables HTTP access to the internet for indexers and fetchers. Private IPv4 and IPv6 addresses are allowed. Database connections are unaffected.

      -
      +

      .connstring

      -
      +

      String

      -
      +

      A Postgres connection string. Accepts format as a URL or libpq connection string.

      -
      +

      .index_report_request_concurrency

      -
      +

      Integer

      -
      +

      Rate limits the number of index report creation requests. Setting this to 0 attemps to auto-size this value. Setting a negative value means unlimited. The auto-sizing is a multiple of the number of available cores.

      The API returns a 429 status code if concurrency is exceeded.

      -
      +

      .scanlock_retry

      -
      +

      Integer

      -
      +

      A positive integer representing seconds. Concurrent indexers lock on manifest scans to avoid clobbering. This value tunes how often a waiting indexer polls for the lock.

      -
      +

      .layer_scan_concurrency

      -
      +

      Integer

      -
      +

      Positive integer limiting the number of concurrent layer scans. Indexers will match a manifest’s layer concurrently. This value tunes the number of layers an indexer scans in parallel.

      -
      +

      .migrations

      -
      +

      Boolean

      -
      +

      Whether indexer nodes handle migrations to their database.

      -
      +

      .scanner

      -
      +

      String

      -
      +

      Indexer configuration.

      Scanner allows for passing configuration options to layer scanners. The scanner will have this configuration pass to it on construction if designed to do so.

      -
      +

      .scanner.dist

      -
      +

      String

      -
      +

      A map with the name of a particular scanner and arbitrary YAML as a value.

      -
      +

      .scanner.package

      -
      +

      String

      -
      +

      A map with the name of a particular scanner and arbitrary YAML as a value.

      -
      +

      .scanner.repo

      -
      +

      String

      -
      +

      A map with the name of a particular scanner and arbitrary YAML as a value.

      @@ -5509,51 +5509,51 @@ The following table describes the configuration fields for Clair’s matcher component.

      Note

      Differs from matchers configuration fields. -

      FieldTypeDescription
      +

      FieldTypeDescription

      matcher

      -
      +

      Object

      -
      +

      Provides Clair matcher node configuration.

      -
      +

      .cache_age

      -
      +

      String

      -
      +

      Controls how long users should be hinted to cache responses for.

      -
      +

      .connstring

      -
      +

      String

      -
      +

      A Postgres connection string. Accepts format as a URL or libpq connection string.

      -
      +

      .max_conn_pool

      -
      +

      Integer

      -
      +

      Limits the database connection pool size.

      @@ -5563,72 +5563,72 @@

      This parameter will be ignored in a future version. Users should configure this through the connection string.

      -
      +

      .indexer_addr

      -
      +

      String

      -
      +

      A matcher contacts an indexer to create a vulnerability report. The location of this indexer is required.

      Defaults to 30m.

      -
      +

      .migrations

      -
      +

      Boolean

      -
      +

      Whether matcher nodes handle migrations to their databases.

      -
      +

      .period

      -
      +

      String

      -
      +

      Determines how often updates for new security advisories take place.

      Defaults to 6h.

      -
      +

      .disable_updaters

      -
      +

      Boolean

      -
      +

      Whether to run background updates or not.

      Default: False

      -
      +

      .update_retention

      -
      +

      Integer

      -
      +

      Sets the number of update operations to retain between garbage collection cycles. This should be set to a safe MAX value based on database size constraints.

      @@ -5656,39 +5656,39 @@ The following table describes the configuration fields for Clair’s matchers component.

      Note

      Differs from matcher configuration fields. -

      Table 5.1. Matchers configuration fields

      FieldTypeDescription
      +

      Table 5.1. Matchers configuration fields

      FieldTypeDescription

      matchers

      -
      +

      Array of strings

      -
      +

      Provides configuration for the in-tree matchers.

      -
      +

      .names

      -
      +

      String

      -
      +

      A list of string values informing the matcher factory about enabled matchers. If value is set to null, the default list of matchers run. The following strings are accepted: alpine-matcher, aws-matcher, debian-matcher, gobin, java-maven, oracle, photon, python, rhel, rhel-container-matcher, ruby, suse, ubuntu-matcher

      -
      +

      .config

      -
      +

      String

      -
      +

      Provides configuration to a specific matcher.

      @@ -5709,27 +5709,27 @@ # ...

      5.1.7. Clair updaters configuration fields

      The following table describes the configuration fields for Clair’s updaters component. -

      Table 5.2. Updaters configuration fields

      FieldTypeDescription
      +

      Table 5.2. Updaters configuration fields

      FieldTypeDescription

      updaters

      -
      +

      Object

      -
      +

      Provides configuration for the matcher’s update manager.

      -
      +

      .sets

      -
      +

      String

      -
      +

      A list of values informing the update manager which updaters to run.

      @@ -5739,15 +5739,15 @@

      If left blank, zero updaters run.

      -
      +

      .config

      -
      +

      String

      -
      +

      Provides configuration to specific updater sets.

      @@ -5768,99 +5768,99 @@ # ...

      5.1.8. Clair notifier configuration fields

      The general notifier configuration fields for Clair are listed below. -

      FieldTypeDescription
      +

      FieldTypeDescription

      notifier

      -
      +

      Object

      -
      +

      Provides Clair notifier node configuration.

      -
      +

      .connstring

      -
      +

      String

      -
      +

      Postgres connection string. Accepts format as URL, or libpq connection string.

      -
      +

      .migrations

      -
      +

      Boolean

      -
      +

      Whether notifier nodes handle migrations to their database.

      -
      +

      .indexer_addr

      -
      +

      String

      -
      +

      A notifier contacts an indexer to create or obtain manifests affected by vulnerabilities. The location of this indexer is required.

      -
      +

      .matcher_addr

      -
      +

      String

      -
      +

      A notifier contacts a matcher to list update operations and acquire diffs. The location of this matcher is required.

      -
      +

      .poll_interval

      -
      +

      String

      -
      +

      The frequency at which the notifier will query a matcher for update operations.

      -
      +

      .delivery_interval

      -
      +

      String

      -
      +

      The frequency at which the notifier attempts delivery of created, or previously failed, notifications.

      -
      +

      .disable_summary

      -
      +

      Boolean

      -
      +

      Controls whether notifications should be summarized to one per manifest.

      @@ -5888,7 +5888,7 @@ # ...

      5.1.8.1. Clair webhook configuration fields

      The following webhook fields are available for the Clair notifier environment. -

      Table 5.3. Clair webhook fields

      +

      Table 5.3. Clair webhook fields

      .webhook

      @@ -6160,150 +6160,150 @@ # ...

      5.1.8.3. Clair STOMP configuration fields

      The following Simple Text Oriented Message Protocol (STOMP) fields are available for the Clair notifier environment. -

      .stompObjectConfigures the notifier for STOMP delivery.
      +

      .stompObjectConfigures the notifier for STOMP delivery.

      .stomp.direct

      -
      +

      Boolean

      -
      +

      If true, the notifier delivers individual notifications (not a callback) to the configured STOMP broker.

      -
      +

      .stomp.rollup

      -
      +

      Integer

      -
      +

      If stomp.direct is set to true, this value limits the number of notifications sent in a single direct delivery. For example, if direct is set to true, and rollup is set to 5, the notifier delivers no more than 5 notifications in a single JSON payload to the broker. Setting the value to 0 effectively sets it to 1.

      -
      +

      .stomp.callback

      -
      +

      String

      -
      +

      If stomp.callback is set to false, the provided URL in the notification callback is sent to the broker. This URL should point to Clair’s notification API endpoint.

      -
      +

      .stomp.destination

      -
      +

      String

      -
      +

      The STOMP destination to deliver notifications to.

      -
      +

      .stomp.uris

      -
      +

      String

      -
      +

      A list of one or more STOMP brokers to connect to in priority order.

      -
      +

      .stomp.tls

      -
      +

      Object

      -
      +

      Configured TLS/SSL connection to STOMP broker.

      -
      +

      .stomp.tls.root_ca

      -
      +

      String

      -
      +

      The filesystem path where a root CA can be read.

      [NOTE] ==== Clair also respects SSL_CERT_DIR, as documented for the Go crypto/x509 package. ====

      -
      +

      .stomp.tls.cert

      -
      +

      String

      -
      +

      The filesystem path where a TLS/SSL certificate can be read.

      -
      +

      .stomp.tls.key

      -
      +

      String

      -
      +

      The filesystem path where a TLS/SSL private key can be read.

      -
      +

      .stomp.user

      -
      +

      String

      -
      +

      Configures login details for the STOMP broker.

      -
      +

      .stomp.user.login

      -
      +

      String

      -
      +

      The STOMP login to connect with.

      -
      +

      .stomp.user.passcode

      -
      +

      String

      -
      +

      The STOMP passcode to connect with.

      @@ -6328,51 +6328,51 @@ # ...

      5.1.9. Clair authorization configuration fields

      The following authorization configuration fields are available for Clair. -

      FieldTypeDescription
      +

      FieldTypeDescription

      auth

      -
      +

      Object

      -
      +

      Defines Clair’s external and intra-service JWT based authentication. If multiple auth mechanisms are defined, Clair picks one. Currently, multiple mechanisms are unsupported.

      -
      +

      .psk

      -
      +

      String

      -
      +

      Defines pre-shared key authentication.

      -
      +

      .psk.key

      -
      +

      String

      -
      +

      A shared base64 encoded key distributed between all parties signing and verifying JWTs.

      -
      +

      .psk.iss

      -
      +

      String

      -
      +

      A list of JWT issuers to verify. An empty list accepts any issuer in a JWT claim.

      @@ -6388,159 +6388,159 @@ # ...

      5.1.10. Clair trace configuration fields

      The following trace configuration fields are available for Clair. -

      FieldTypeDescription
      +

      FieldTypeDescription

      trace

      -
      +

      Object

      -
      +

      Defines distributed tracing configuration based on OpenTelemetry.

      -
      +

      .name

      -
      +

      String

      -
      +

      The name of the application traces will belong to.

      -
      +

      .probability

      -
      +

      Integer

      -
      +

      The probability a trace will occur.

      -
      +

      .jaeger

      -
      +

      Object

      -
      +

      Defines values for Jaeger tracing.

      -
      +

      .jaeger.agent

      -
      +

      Object

      -
      +

      Defines values for configuring delivery to a Jaeger agent.

      -
      +

      .jaeger.agent.endpoint

      -
      +

      String

      -
      +

      An address in the <host>:<post> syntax where traces can be submitted.

      -
      +

      .jaeger.collector

      -
      +

      Object

      -
      +

      Defines values for configuring delivery to a Jaeger collector.

      -
      +

      .jaeger.collector.endpoint

      -
      +

      String

      -
      +

      An address in the <host>:<post> syntax where traces can be submitted.

      -
      +

      .jaeger.collector.username

      -
      +

      String

      -
      +

      A Jaeger username.

      -
      +

      .jaeger.collector.password

      -
      +

      String

      -
      +

      A Jaeger password.

      -
      +

      .jaeger.service_name

      -
      +

      String

      -
      +

      The service name registered in Jaeger.

      -
      +

      .jaeger.tags

      -
      +

      String

      -
      +

      Key-value pairs to provide additional metadata.

      -
      +

      .jaeger.buffer_max

      -
      +

      Integer

      -
      +

      The maximum number of spans that can be buffered in memory before they are sent to the Jaeger backend for storage and analysis.

      @@ -6559,51 +6559,51 @@ # ...

      5.1.11. Clair metrics configuration fields

      The following metrics configuration fields are available for Clair. -

      FieldTypeDescription
      +

      FieldTypeDescription

      metrics

      -
      +

      Object

      -
      +

      Defines distributed tracing configuration based on OpenTelemetry.

      -
      +

      .name

      -
      +

      String

      -
      +

      The name of the metrics in use.

      -
      +

      .prometheus

      -
      +

      String

      -
      +

      Configuration for a Prometheus metrics exporter.

      -
      +

      .prometheus.endpoint

      -
      +

      String

      -
      +

      Defines the path where metrics are served.

      @@ -6617,7 +6617,7 @@ prometheus: endpoint: "/metricsz" # ... -

      Legal Notice

      +

      Legal Notice

      Copyright © 2025 Red Hat, Inc.
      The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/deploy_quay/index.html b/master/deploy_quay/index.html index 4f59d73ee..b348b8164 100644 --- a/master/deploy_quay/index.html +++ b/master/deploy_quay/index.html @@ -1,8 +1,8 @@ -Proof of Concept - Deploying Red Hat Quay
      Red Hat Quay 3.13

      Proof of Concept - Deploying Red Hat Quay

      Deploying Red Hat Quay

      Red Hat OpenShift Documentation Team

      Abstract

      +Proof of Concept - Deploying Red Hat Quay
      Red Hat Quay 3.13

      Proof of Concept - Deploying Red Hat Quay

      Deploying Red Hat Quay

      Red Hat OpenShift Documentation Team

      Abstract

      Getting started with Red Hat Quay -

      Preface

      Important

      +


      Preface

      Important

      The following proof of concept deployment method is unsupported for production purposes. This deployment type uses local storage. Local storage is not guaranteed to provide the required read-after-write consistency and data integrity guarantees during parallel access that a storage registry like Red Hat Quay requires. Do not use this deployment type for production purposes. Use it for testing purposes only.

      Red Hat Quay is an enterprise-quality registry for building, securing and serving container images. The documents in this section detail how to deploy Red Hat Quay for proof of concept, or non-production, purposes. The primary objectives of this document includes the following: @@ -105,63 +105,63 @@ Configuring port mapping. You can use port mappings to expose ports on the host and then use these ports in combination with the host IP address or host name.

      This document uses port mapping and assumes a static IP address for your host system. -

      Table 2.1. Sample proof of concept port mapping

      ComponentPort mappingAddress
      +

      Table 2.1. Sample proof of concept port mapping

      ComponentPort mappingAddress

      Quay

      -
      +

      -p 80:8080 -p 443:8443

      -
      +

      http://quay-server.example.com

      -
      +

      Postgres for Quay

      -
      +

      -p 5432:5432

      -
      +

      quay-server.example.com:5432

      -
      +

      Redis

      -
      +

      -p 6379:6379

      -
      +

      quay-server.example.com:6379

      -
      +

      Postgres for Clair V4

      -
      +

      -p 5433:5432

      -
      +

      quay-server.example.com:5433

      -
      +

      Clair V4

      -
      +

      -p 8081:8080

      -
      +

      http://quay-server.example.com:8081

      @@ -550,7 +550,7 @@ Geo-replication
    • and more -
    • Legal Notice

      +

      Legal Notice

      Copyright © 2025 Red Hat, Inc.
      The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/deploy_quay_ha/index.html b/master/deploy_quay_ha/index.html index cbc4367f5..a620af355 100644 --- a/master/deploy_quay_ha/index.html +++ b/master/deploy_quay_ha/index.html @@ -1,8 +1,8 @@ -Deploy Red Hat Quay - High Availability
      Red Hat Quay 3.13

      Deploy Red Hat Quay - High Availability

      Deploy Red Hat Quay HA

      Red Hat OpenShift Documentation Team

      Preface

      Red Hat Quay is an enterprise-quality container registry. Use Quay to build and store containers, then deploy them to the servers across your enterprise.

      This procedure describes how to deploy a high availability, enterprise-quality Red Hat Quay setup. @@ -651,51 +651,51 @@ Links contained herein to any external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or its entities, products, or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.

      Red Hat Quay has several health check endpoints. The following table shows you the health check, a description, an endpoint, and an example output. -

      Table 8.1. Health check endpoints

      Health checkDescriptionEndpointExample output
      +

      Table 8.1. Health check endpoints

      Health checkDescriptionEndpointExample output

      instance

      -
      +

      The instance endpoint acquires the entire status of the specific Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, disk_space, registry_gunicorn, service_key, and web_gunicorn. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

      -
      +

      https://{quay-ip-endpoint}/health/instance or https://{quay-ip-endpoint}/health

      -
      +

      {"data":{"services":{"auth":true,"database":true,"disk_space":true,"registry_gunicorn":true,"service_key":true,"web_gunicorn":true}},"status_code":200}

      -
      +

      endtoend

      -
      +

      The endtoend endpoint conducts checks on all services of your Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, redis, storage. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

      -
      +

      https://{quay-ip-endpoint}/health/endtoend

      -
      +

      {"data":{"services":{"auth":true,"database":true,"redis":true,"storage":true}},"status_code":200}

      -
      +

      warning

      -
      +

      The warning endpoint conducts a check on the warnings. Returns a dict with key-value pairs for the following: disk_space_warning. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

      -
      +

      https://{quay-ip-endpoint}/health/warning

      -
      +

      {"data":{"services":{"disk_space_warning":true}},"status_code":503}

      @@ -707,7 +707,7 @@ You are taken to the health instance page, which returns information like the following:

      {"data":{"services":{"auth":true,"database":true,"disk_space":true,"registry_gunicorn":true,"service_key":true,"web_gunicorn":true}},"status_code":200}

      For Red Hat Quay, "status_code": 200 means that the instance is health. Conversely, if you receive "status_code": 503, there is an issue with your deployment. -

      Additional resources

      Legal Notice

      +

      Additional resources

      Legal Notice

      Copyright © 2025 Red Hat, Inc.
      The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/manage_quay/index.html b/master/manage_quay/index.html index 10b4c6b11..5a64b59b2 100644 --- a/master/manage_quay/index.html +++ b/master/manage_quay/index.html @@ -1,8 +1,8 @@ -Manage Red Hat Quay
      Red Hat Quay 3.13

      Manage Red Hat Quay

      Manage Red Hat Quay

      Red Hat OpenShift Documentation Team

      Abstract

      +Manage Red Hat Quay
      Red Hat Quay 3.13

      Manage Red Hat Quay

      Manage Red Hat Quay

      Red Hat OpenShift Documentation Team

      Abstract

      Manage Red Hat Quay -

      Preface

      +


      Preface

      Once you have deployed a Red Hat Quay registry, there are many ways you can further configure and manage that deployment. Topics covered here include:

      • Advanced Red Hat Quay configuration @@ -747,1251 +747,1251 @@ The time when the action was performed.

      6.3.2. Log entry kind_ids

      The following table represents the kind_ids associated with Red Hat Quay actions. -

      kind_idActionDescription
      +

      kind_idActionDescription

      1

      -
      +

      account_change_cc

      -
      +

      Change of credit card information.

      -
      +

      2

      -
      +

      account_change_password

      -
      +

      Change of account password.

      -
      +

      3

      -
      +

      account_change_plan

      -
      +

      Change of account plan.

      -
      +

      4

      -
      +

      account_convert

      -
      +

      Account conversion.

      -
      +

      5

      -
      +

      add_repo_accesstoken

      -
      +

      Adding an access token to a repository.

      -
      +

      6

      -
      +

      add_repo_notification

      -
      +

      Adding a notification to a repository.

      -
      +

      7

      -
      +

      add_repo_permission

      -
      +

      Adding permissions to a repository.

      -
      +

      8

      -
      +

      add_repo_webhook

      -
      +

      Adding a webhook to a repository.

      -
      +

      9

      -
      +

      build_dockerfile

      -
      +

      Building a Dockerfile.

      -
      +

      10

      -
      +

      change_repo_permission

      -
      +

      Changing permissions of a repository.

      -
      +

      11

      -
      +

      change_repo_visibility

      -
      +

      Changing the visibility of a repository.

      -
      +

      12

      -
      +

      create_application

      -
      +

      Creating an application.

      -
      +

      13

      -
      +

      create_prototype_permission

      -
      +

      Creating permissions for a prototype.

      -
      +

      14

      -
      +

      create_repo

      -
      +

      Creating a repository.

      -
      +

      15

      -
      +

      create_robot

      -
      +

      Creating a robot (service account or bot).

      -
      +

      16

      -
      +

      create_tag

      -
      +

      Creating a tag.

      -
      +

      17

      -
      +

      delete_application

      -
      +

      Deleting an application.

      -
      +

      18

      -
      +

      delete_prototype_permission

      -
      +

      Deleting permissions for a prototype.

      -
      +

      19

      -
      +

      delete_repo

      -
      +

      Deleting a repository.

      -
      +

      20

      -
      +

      delete_repo_accesstoken

      -
      +

      Deleting an access token from a repository.

      -
      +

      21

      -
      +

      delete_repo_notification

      -
      +

      Deleting a notification from a repository.

      -
      +

      22

      -
      +

      delete_repo_permission

      -
      +

      Deleting permissions from a repository.

      -
      +

      23

      -
      +

      delete_repo_trigger

      -
      +

      Deleting a repository trigger.

      -
      +

      24

      -
      +

      delete_repo_webhook

      -
      +

      Deleting a webhook from a repository.

      -
      +

      25

      -
      +

      delete_robot

      -
      +

      Deleting a robot.

      -
      +

      26

      -
      +

      delete_tag

      -
      +

      Deleting a tag.

      -
      +

      27

      -
      +

      manifest_label_add

      -
      +

      Adding a label to a manifest.

      -
      +

      28

      -
      +

      manifest_label_delete

      -
      +

      Deleting a label from a manifest.

      -
      +

      29

      -
      +

      modify_prototype_permission

      -
      +

      Modifying permissions for a prototype.

      -
      +

      30

      -
      +

      move_tag

      -
      +

      Moving a tag.

      -
      +

      31

      -
      +

      org_add_team_member

      -
      +

      Adding a member to a team.

      -
      +

      32

      -
      +

      org_create_team

      -
      +

      Creating a team within an organization.

      -
      +

      33

      -
      +

      org_delete_team

      -
      +

      Deleting a team within an organization.

      -
      +

      34

      -
      +

      org_delete_team_member_invite

      -
      +

      Deleting a team member invitation.

      -
      +

      35

      -
      +

      org_invite_team_member

      -
      +

      Inviting a member to a team in an organization.

      -
      +

      36

      -
      +

      org_remove_team_member

      -
      +

      Removing a member from a team.

      -
      +

      37

      -
      +

      org_set_team_description

      -
      +

      Setting the description of a team.

      -
      +

      38

      -
      +

      org_set_team_role

      -
      +

      Setting the role of a team.

      -
      +

      39

      -
      +

      org_team_member_invite_accepted

      -
      +

      Acceptance of a team member invitation.

      -
      +

      40

      -
      +

      org_team_member_invite_declined

      -
      +

      Declining of a team member invitation.

      -
      +

      41

      -
      +

      pull_repo

      -
      +

      Pull from a repository.

      -
      +

      42

      -
      +

      push_repo

      -
      +

      Push to a repository.

      -
      +

      43

      -
      +

      regenerate_robot_token

      -
      +

      Regenerating a robot token.

      -
      +

      44

      -
      +

      repo_verb

      -
      +

      Generic repository action (specifics might be defined elsewhere).

      -
      +

      45

      -
      +

      reset_application_client_secret

      -
      +

      Resetting the client secret of an application.

      -
      +

      46

      -
      +

      revert_tag

      -
      +

      Reverting a tag.

      -
      +

      47

      -
      +

      service_key_approve

      -
      +

      Approving a service key.

      -
      +

      48

      -
      +

      service_key_create

      -
      +

      Creating a service key.

      -
      +

      49

      -
      +

      service_key_delete

      -
      +

      Deleting a service key.

      -
      +

      50

      -
      +

      service_key_extend

      -
      +

      Extending a service key.

      -
      +

      51

      -
      +

      service_key_modify

      -
      +

      Modifying a service key.

      -
      +

      52

      -
      +

      service_key_rotate

      -
      +

      Rotating a service key.

      -
      +

      53

      -
      +

      setup_repo_trigger

      -
      +

      Setting up a repository trigger.

      -
      +

      54

      -
      +

      set_repo_description

      -
      +

      Setting the description of a repository.

      -
      +

      55

      -
      +

      take_ownership

      -
      +

      Taking ownership of a resource.

      -
      +

      56

      -
      +

      update_application

      -
      +

      Updating an application.

      -
      +

      57

      -
      +

      change_repo_trust

      -
      +

      Changing the trust level of a repository.

      -
      +

      58

      -
      +

      reset_repo_notification

      -
      +

      Resetting repository notifications.

      -
      +

      59

      -
      +

      change_tag_expiration

      -
      +

      Changing the expiration date of a tag.

      -
      +

      60

      -
      +

      create_app_specific_token

      -
      +

      Creating an application-specific token.

      -
      +

      61

      -
      +

      revoke_app_specific_token

      -
      +

      Revoking an application-specific token.

      -
      +

      62

      -
      +

      toggle_repo_trigger

      -
      +

      Toggling a repository trigger on or off.

      -
      +

      63

      -
      +

      repo_mirror_enabled

      -
      +

      Enabling repository mirroring.

      -
      +

      64

      -
      +

      repo_mirror_disabled

      -
      +

      Disabling repository mirroring.

      -
      +

      65

      -
      +

      repo_mirror_config_changed

      -
      +

      Changing the configuration of repository mirroring.

      -
      +

      66

      -
      +

      repo_mirror_sync_started

      -
      +

      Starting a repository mirror sync.

      -
      +

      67

      -
      +

      repo_mirror_sync_failed

      -
      +

      Repository mirror sync failed.

      -
      +

      68

      -
      +

      repo_mirror_sync_success

      -
      +

      Repository mirror sync succeeded.

      -
      +

      69

      -
      +

      repo_mirror_sync_now_requested

      -
      +

      Immediate repository mirror sync requested.

      -
      +

      70

      -
      +

      repo_mirror_sync_tag_success

      -
      +

      Repository mirror tag sync succeeded.

      -
      +

      71

      -
      +

      repo_mirror_sync_tag_failed

      -
      +

      Repository mirror tag sync failed.

      -
      +

      72

      -
      +

      repo_mirror_sync_test_success

      -
      +

      Repository mirror sync test succeeded.

      -
      +

      73

      -
      +

      repo_mirror_sync_test_failed

      -
      +

      Repository mirror sync test failed.

      -
      +

      74

      -
      +

      repo_mirror_sync_test_started

      -
      +

      Repository mirror sync test started.

      -
      +

      75

      -
      +

      change_repo_state

      -
      +

      Changing the state of a repository.

      -
      +

      76

      -
      +

      create_proxy_cache_config

      -
      +

      Creating proxy cache configuration.

      -
      +

      77

      -
      +

      delete_proxy_cache_config

      -
      +

      Deleting proxy cache configuration.

      -
      +

      78

      -
      +

      start_build_trigger

      -
      +

      Starting a build trigger.

      -
      +

      79

      -
      +

      cancel_build

      -
      +

      Cancelling a build.

      -
      +

      80

      -
      +

      org_create

      -
      +

      Creating an organization.

      -
      +

      81

      -
      +

      org_delete

      -
      +

      Deleting an organization.

      -
      +

      82

      -
      +

      org_change_email

      -
      +

      Changing organization email.

      -
      +

      83

      -
      +

      org_change_invoicing

      -
      +

      Changing organization invoicing.

      -
      +

      84

      -
      +

      org_change_tag_expiration

      -
      +

      Changing organization tag expiration.

      -
      +

      85

      -
      +

      org_change_name

      -
      +

      Changing organization name.

      -
      +

      86

      -
      +

      user_create

      -
      +

      Creating a user.

      -
      +

      87

      -
      +

      user_delete

      -
      +

      Deleting a user.

      -
      +

      88

      -
      +

      user_disable

      -
      +

      Disabling a user.

      -
      +

      89

      -
      +

      user_enable

      -
      +

      Enabling a user.

      -
      +

      90

      -
      +

      user_change_email

      -
      +

      Changing user email.

      -
      +

      91

      -
      +

      user_change_password

      -
      +

      Changing user password.

      -
      +

      92

      -
      +

      user_change_name

      -
      +

      Changing user name.

      -
      +

      93

      -
      +

      user_change_invoicing

      -
      +

      Changing user invoicing.

      -
      +

      94

      -
      +

      user_change_tag_expiration

      -
      +

      Changing user tag expiration.

      -
      +

      95

      -
      +

      user_change_metadata

      -
      +

      Changing user metadata.

      -
      +

      96

      -
      +

      user_generate_client_key

      -
      +

      Generating a client key for a user.

      -
      +

      97

      -
      +

      login_success

      -
      +

      Successful login.

      -
      +

      98

      -
      +

      logout_success

      -
      +

      Successful logout.

      -
      +

      99

      -
      +

      permanently_delete_tag

      -
      +

      Permanently deleting a tag.

      -
      +

      100

      -
      +

      autoprune_tag_delete

      -
      +

      Auto-pruning tag deletion.

      -
      +

      101

      -
      +

      create_namespace_autoprune_policy

      -
      +

      Creating namespace auto-prune policy.

      -
      +

      102

      -
      +

      update_namespace_autoprune_policy

      -
      +

      Updating namespace auto-prune policy.

      -
      +

      103

      -
      +

      delete_namespace_autoprune_policy

      -
      +

      Deleting namespace auto-prune policy.

      -
      +

      104

      -
      +

      login_failure

      -
      +

      Failed login attempt.

      @@ -2182,99 +2182,99 @@ Automatic synchronization or mirroring of selected (allowlisted) upstream repositories from external registries into a local Red Hat Quay deployment
      Note

      Repository mirroring and geo-replication can be used simultaneously. -

      Table 8.1. Red Hat Quay Repository mirroring and geo-replication comparison

      Feature / CapabilityGeo-replicationRepository mirroring
      +

      Table 8.1. Red Hat Quay Repository mirroring and geo-replication comparison

      Feature / CapabilityGeo-replicationRepository mirroring

      What is the feature designed to do?

      -
      +

      A shared, global registry

      -
      +

      Distinct, different registries

      -
      +

      What happens if replication or mirroring has not been completed yet?

      -
      +

      The remote copy is used (slower)

      -
      +

      No image is served

      -
      +

      Is access to all storage backends in both regions required?

      -
      +

      Yes (all Red Hat Quay nodes)

      -
      +

      No (distinct storage)

      -
      +

      Can users push images from both sites to the same repository?

      -
      +

      Yes

      -
      +

      No

      -
      +

      Is all registry content and configuration identical across all regions (shared database)?

      -
      +

      Yes

      -
      +

      No

      -
      +

      Can users select individual namespaces or repositories to be mirrored?

      -
      +

      No

      -
      +

      Yes

      -
      +

      Can users apply filters to synchronization rules?

      -
      +

      No

      -
      +

      Yes

      -
      +

      Are individual / different role-base access control configurations allowed in each region

      -
      +

      No

      -
      +

      Yes

      @@ -2302,63 +2302,63 @@ Enable mirroring and require HTTPS and verified certificates

    • Validate and download the configuration file, and then restart Quay in registry mode using the updated config file. -
    • 8.5. Mirroring configuration fields

      Table 8.2. Mirroring configuration

      FieldTypeDescription
      +

      8.5. Mirroring configuration fields

      Table 8.2. Mirroring configuration

      FieldTypeDescription

      FEATURE_REPO_MIRROR

      -
      +

      Boolean

      -
      +

      Enable or disable repository mirroring

      Default: false

      -
      +

      REPO_MIRROR_INTERVAL

      -
      +

      Number

      -
      +

      The number of seconds between checking for repository mirror candidates

      Default: 30

      -
      +

      REPO_MIRROR_SERVER_HOSTNAME

      -
      +

      String

      -
      +

      Replaces the SERVER_HOSTNAME as the destination for mirroring.

      Default: None

      Example:
      openshift-quay-service

      -
      +

      REPO_MIRROR_TLS_VERIFY

      -
      +

      Boolean

      -
      +

      Require HTTPS and verify certificates of Quay registry during mirror.

      Default: true

      -
      +

      REPO_MIRROR_ROLLBACK

      -
      +

      Boolean

      -
      +

      When set to true, the repository rolls back after a failed mirror attempt.

      @@ -3408,43 +3408,43 @@ Red Hat Quay provides metrics to help monitor the registry, including metrics for general registry usage, uploads, downloads, garbage collection, and authentication.

      14.2.1. General registry statistics

      General registry statistics can indicate how large the registry has grown. -

      Metric nameDescription
      +

      Metric nameDescription

      quay_user_rows

      -
      +

      Number of users in the database

      -
      +

      quay_robot_rows

      -
      +

      Number of robot accounts in the database

      -
      +

      quay_org_rows

      -
      +

      Number of organizations in the database

      -
      +

      quay_repository_rows

      -
      +

      Number of repositories in the database

      -
      +

      quay_security_scanning_unscanned_images_remaining_total

      -
      +

      Number of images that are not scanned by the latest security scanner

      @@ -3471,27 +3471,27 @@ quay_security_scanning_unscanned_images_remaining{host="example-registry-quay-app-6df87f7b66-9tfn6",instance="",job="quay",pid="208",process_name="secscan:application"} 5

      14.2.2. Queue items

      The queue items metrics provide information on the multiple queues used by Quay for managing work. -

      Metric nameDescription
      +

      Metric nameDescription

      quay_queue_items_available

      -
      +

      Number of items in a specific queue

      -
      +

      quay_queue_items_locked

      -
      +

      Number of items that are running

      -
      +

      quay_queue_items_available_unlocked

      -
      +

      Number of items that are waiting to be processed

      @@ -3536,35 +3536,35 @@ quay_queue_items_locked{host="example-registry-quay-app-6df87f7b66-9tfn6",instance="",job="quay",pid="63",process_name="exportactionlogsworker.py",queue_name="exportactionlogs"} 0

      14.2.3. Garbage collection metrics

      These metrics show you how many resources have been removed from garbage collection (gc). They show many times the gc workers have run and how many namespaces, repositories, and blobs were removed. -

      Metric nameDescription
      +

      Metric nameDescription

      quay_gc_iterations_total

      -
      +

      Number of iterations by the GCWorker

      -
      +

      quay_gc_namespaces_purged_total

      -
      +

      Number of namespaces purged by the NamespaceGCWorker

      -
      +

      quay_gc_repos_purged_total

      -
      +

      Number of repositories purged by the RepositoryGCWorker or NamespaceGCWorker

      -
      +

      quay_gc_storage_blobs_deleted_total

      -
      +

      Number of storage blobs deleted

      @@ -3607,19 +3607,19 @@ ...

      14.2.3.1. Multipart uploads metrics

      The multipart uploads metrics show the number of blobs uploads to storage (S3, Rados, GoogleCloudStorage, RHOCS). These can help identify issues when Quay is unable to correctly upload blobs to storage. -

      Metric nameDescription
      +

      Metric nameDescription

      quay_multipart_uploads_started_total

      -
      +

      Number of multipart uploads to Quay storage that started

      -
      +

      quay_multipart_uploads_completed_total

      -
      +

      Number of multipart uploads to Quay storage that completed

      @@ -3643,11 +3643,11 @@ ...

      14.2.4. Image push / pull metrics

      A number of metrics are available related to pushing and pulling images. -

      14.2.4.1. Image pulls total

      Metric nameDescription
      +

      14.2.4.1. Image pulls total

      Metric nameDescription

      quay_registry_image_pulls_total

      -
      +

      The number of images downloaded from the registry.

      @@ -3657,21 +3657,21 @@ ref: ref used to pull - tag, manifest
    • status: http return code of the request -
    • 14.2.4.2. Image bytes pulled

      Metric nameDescription
      +

      14.2.4.2. Image bytes pulled

      Metric nameDescription

      quay_registry_image_pulled_estimated_bytes_total

      -
      +

      The number of bytes downloaded from the registry

      Metric labels

      • protocol: the registry protocol used (should always be v2) -

      14.2.4.3. Image pushes total

      Metric nameDescription
      +

      14.2.4.3. Image pushes total

      Metric nameDescription

      quay_registry_image_pushes_total

      -
      +

      The number of images uploaded from the registry.

      @@ -3681,11 +3681,11 @@ pstatus: http return code of the request
    • pmedia_type: the uploaded manifest type -
    • 14.2.4.4. Image bytes pushed

      Metric nameDescription
      +

      14.2.4.4. Image bytes pushed

      Metric nameDescription

      quay_registry_image_pushed_bytes_total

      -
      +

      The number of bytes uploaded to the registry

      @@ -3697,11 +3697,11 @@ ...

      14.2.5. Authentication metrics

      The authentication metrics provide the number of authentication requests, labeled by type and whether it succeeded or not. For example, this metric could be used to monitor failed basic authentication requests. -

      Metric nameDescription
      +

      Metric nameDescription

      quay_authentication_attempts_total

      -
      +

      Number of authentication attempts across the registry and API

      @@ -3737,27 +3737,27 @@ Quota management helps organizations to maintain resource consumption. One limitation of quota management is that calculating resource consumption on push results in the calculation becoming part of the push’s critical path. Without this, usage data might drift.

      The maximum storage quota size is dependent on the selected database: -

      Table 15.1. Worker count environment variables

      VariableDescription
      +

      Table 15.1. Worker count environment variables

      VariableDescription

      Postgres

      -
      +

      8388608 TB

      -
      +

      MySQL

      -
      +

      8388608 TB

      -
      +

      SQL Server

      -
      +

      16777216 TB

      @@ -5360,87 +5360,87 @@ As a Red Hat Quay administrator, you can configure Open Container Initiative (OCI) artifact types and other experimental artifact types through the FEATURE_GENERAL_OCI_SUPPORT, ALLOWED_OCI_ARTIFACT_TYPES, and IGNORE_UNKNOWN_MEDIATYPES configuration fields.

      The following Open Container Initiative (OCI) artifact types are built into Red Hat Quay by default and are enabled through the FEATURE_GENERAL_OCI_SUPPORT configuration field: -

      FieldMedia TypeSupported content types
      +

      FieldMedia TypeSupported content types

      Helm

      -
      +

      application/vnd.cncf.helm.config.v1+json

      -
      +

      application/tar+gzip, application/vnd.cncf.helm.chart.content.v1.tar+gzip

      -
      +

      Cosign

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.dev.cosign.simplesigning.v1+json, application/vnd.dsse.envelope.v1+json

      -
      +

      SPDX

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      text/spdx, text/spdx+xml, text/spdx+json

      -
      +

      Syft

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.syft+json

      -
      +

      CycloneDX

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.cyclonedx, application/vnd.cyclonedx+xml, application/vnd.cyclonedx+json

      -
      +

      In-toto

      -
      +

      application/vnd.oci.image.config.v1+json

      -
      +

      application/vnd.in-toto+json

      -
      +

      Unknown

      -
      +

      application/vnd.cncf.openpolicyagent.policy.layer.v1+rego

      -
      +

      application/vnd.cncf.openpolicyagent.policy.layer.v1+rego, application/vnd.cncf.openpolicyagent.data.layer.v1+json

      @@ -5522,99 +5522,99 @@ The UploadedBlob table in the Red Hat Quay metrics tracks the various blobs that are associated with a repository. When a blob is uploaded, it will not be garbage collected before the time designated by the PUSH_TEMP_TAG_EXPIRATION_SEC parameter. This is to avoid prematurely deleting blobs that are part of an ongoing push. For example, if garbage collection is set to run often, and a tag is deleted in the span of less than one hour, then it is possible that the associated blobs will not get cleaned up immediately. Instead, and assuming that the time designated by the PUSH_TEMP_TAG_EXPIRATION_SEC parameter has passed, the associated blobs will be removed the next time garbage collection is triggered to run by another expired tag on the same repository.

      21.2. Garbage collection configuration fields

      The following configuration fields are available to customize what is garbage collected, and the frequency at which garbage collection occurs: -

      NameDescriptionSchema
      +

      NameDescriptionSchema

      FEATURE_GARBAGE_COLLECTION

      -
      +

      Whether garbage collection is enabled for image tags. Defaults to true.

      -
      +

      Boolean

      -
      +

      FEATURE_NAMESPACE_GARBAGE_COLLECTION

      -
      +

      Whether garbage collection is enabled for namespaces. Defaults to true.

      -
      +

      Boolean

      -
      +

      FEATURE_REPOSITORY_GARBAGE_COLLECTION

      -
      +

      Whether garbage collection is enabled for repositories. Defaults to true.

      -
      +

      Boolean

      -
      +

      GARBAGE_COLLECTION_FREQUENCY

      -
      +

      The frequency, in seconds, at which the garbage collection worker runs. Affects only garbage collection workers. Defaults to 30 seconds.

      -
      +

      String

      -
      +

      PUSH_TEMP_TAG_EXPIRATION_SEC

      -
      +

      The number of seconds that blobs will not be garbage collected after being uploaded. This feature prevents garbage collection from cleaning up blobs that are not referenced yet, but still used as part of an ongoing push.

      -
      +

      String

      -
      +

      TAG_EXPIRATION_OPTIONS

      -
      +

      List of valid tag expiration values.

      -
      +

      String

      -
      +

      DEFAULT_TAG_EXPIRATION

      -
      +

      Tag expiration time for time machine.

      -
      +

      String

      -
      +

      CLEAN_BLOB_UPLOAD_FOLDER

      -
      +

      Automatically cleans stale blobs left over from an S3 multipart upload. By default, blob files older than two days are cleaned up every hour.

      -
      +

      Boolean

      @@ -5645,35 +5645,35 @@ Example output:

      gunicorn-web stdout | 2022-11-14 19:23:44,574 [233] [INFO] [gunicorn.access] 192.168.0.38 - - [14/Nov/2022:19:23:44 +0000] "DELETE /api/v1/repository/quayadmin/busybox/tag/test HTTP/1.0" 204 0 "http://quay-server.example.com/repository/quayadmin/busybox?tab=tags" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"

      21.6. Red Hat Quay garbage collection metrics

      The following metrics show how many resources have been removed by garbage collection. These metrics show how many times the garbage collection workers have run and how many namespaces, repositories, and blobs were removed. -

      Metric nameDescription
      +

      Metric nameDescription

      quay_gc_iterations_total

      -
      +

      Number of iterations by the GCWorker

      -
      +

      quay_gc_namespaces_purged_total

      -
      +

      Number of namespaces purged by the NamespaceGCWorker

      -
      +

      quay_gc_repos_purged_total

      -
      +

      Number of repositories purged by the RepositoryGCWorker or NamespaceGCWorker

      -
      +

      quay_gc_storage_blobs_deleted_total

      -
      +

      Number of storage blobs deleted

      @@ -6128,51 +6128,51 @@ Links contained herein to any external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or its entities, products, or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.

      Red Hat Quay has several health check endpoints. The following table shows you the health check, a description, an endpoint, and an example output. -

      Table 23.1. Health check endpoints

      Health checkDescriptionEndpointExample output
      +

      Table 23.1. Health check endpoints

      Health checkDescriptionEndpointExample output

      instance

      -
      +

      The instance endpoint acquires the entire status of the specific Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, disk_space, registry_gunicorn, service_key, and web_gunicorn. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

      -
      +

      https://{quay-ip-endpoint}/health/instance or https://{quay-ip-endpoint}/health

      -
      +

      {"data":{"services":{"auth":true,"database":true,"disk_space":true,"registry_gunicorn":true,"service_key":true,"web_gunicorn":true}},"status_code":200}

      -
      +

      endtoend

      -
      +

      The endtoend endpoint conducts checks on all services of your Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, redis, storage. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

      -
      +

      https://{quay-ip-endpoint}/health/endtoend

      -
      +

      {"data":{"services":{"auth":true,"database":true,"redis":true,"storage":true}},"status_code":200}

      -
      +

      warning

      -
      +

      The warning endpoint conducts a check on the warnings. Returns a dict with key-value pairs for the following: disk_space_warning. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

      -
      +

      https://{quay-ip-endpoint}/health/warning

      -
      +

      {"data":{"services":{"disk_space_warning":true}},"status_code":503}

      @@ -6208,7 +6208,7 @@ Restart your Red Hat Quay deployment. After restarting, your Red Hat Quay deployment is updated with a new logo, footer image, and footer image URL.

      Chapter 25. Schema for Red Hat Quay configuration

      Most Red Hat Quay configuration information is stored in the config.yaml file. All configuration options are described in the Red Hat Quay Configuration Guide. -

      Legal Notice

      +

      Legal Notice

      Copyright © 2025 Red Hat, Inc.
      The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/release_notes/index.html b/master/release_notes/index.html index 6134bef92..5c437f9aa 100644 --- a/master/release_notes/index.html +++ b/master/release_notes/index.html @@ -1,8 +1,8 @@ -Red Hat Quay Release Notes
      Red Hat Quay 3.13

      Red Hat Quay Release Notes

      Red Hat Quay

      Red Hat OpenShift Documentation Team

      Abstract

      +Red Hat Quay Release Notes
      Red Hat Quay 3.13

      Red Hat Quay Release Notes

      Red Hat Quay

      Red Hat OpenShift Documentation Team

      Abstract

      Red Hat Quay Release Notes -

      Preface

      +


      Preface

      Red Hat Quay container registry platform provides secure storage, distribution, and governance of containers and cloud-native artifacts on any infrastructure. It is available as a standalone component or as an Operator on OpenShift Container Platform. Red Hat Quay includes the following features and benefits: