Quay.io rate limiting
Environment
- Quay.io
Issue
Does the quay.io API rate limit on the number of requests from a client?
Resolution
Quay.io limits the number of requests any client makes to its APIs per IP address and API endpoint. This happens both for the standard OCI distribution spec APIs leverage with container clients like docker
and podman
or runtimes like CRI-O
as well as Quay.io's own APIs.
This limit is set to a few requests per second per IP, with some bursting capabilities to mitigate heavy but short loads, and enables a standard usage pattern. If the limit is surpassed, Quay.io API endpoints return an HTTP 429 "Too many requests" response.
This is typical for any SaaS offering to provide equal quality of service to all users. The rate limit is global and there is no differentiation per namespace level.
Note that this is not a pull-rate limiting for container images.
Root Cause
A client (such as docker
or podman
) is making an excessive number of requests to the same API endpoint on Quay.io
Diagnostic Steps
Your client, e.g. when trying to pull an image or listing image tags, will receive an HTTP response with a 429 status code, along with the error message "Too many requests".
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments