-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: use quay.io for third-party images to avoid rate limiting. Fixes #10807 #14239
base: main
Are you sure you want to change the base?
Conversation
A major source of flaky CI builds for Argo Workflows is Docker Hub image limits. Here's an example: > [port-forward] (starting) [pods/minio-769877b9db-6j8gt] (Waiting) ErrImagePull: container "main" is waiting: Error response from daemon: toomanyrequests: You have reached your unauthenticated pull rate limit. https://www.docker.com/increase-rate-limit Source: https://github.com/argoproj/argo-workflows/actions/runs/13519739393/job/37776381312?pr=14215 On April 1st, Docker Hub is further reducing the limits, so I expect this is going to get worse. This switches the images used in the manifests (which are in turn used by the E2E tests) to use equivalent images on quay.io: * https://hub.docker.com/r/minio/minio -> https://quay.io/minio/minio * https://hub.docker.com/r/kong/httpbin - quay.io/holos/mccutchen/go-httpbin * https://hub.docker.com/_/mysql/tags?name=8 - https://quay.io/fedora/mysql-80 * https://hub.docker.com/_/postgres/tags?name=12-alpine - https://quay.io/repository/fedora/postgresql-12 * https://hub.docker.com/r/prom/prometheus/ - https://quay.io/repository/prometheus/prometheus I also switched all images to use the manifest digest so we don't need to worry about an image suddenly changing and causing all builds to fail (and also partly for security). Signed-off-by: Mason Malone <651224+MasonM@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! Let's see if this works.
Signed-off-by: Mason Malone <651224+MasonM@users.noreply.github.com>
Signed-off-by: Mason Malone <651224+MasonM@users.noreply.github.com>
/retest |
@@ -12,7 +12,7 @@ stringData: | |||
# for oauth2 authentication | |||
clientID: admin | |||
clientSecret: password | |||
tokenURL: "http://httpbin:9100/response-headers?access_token=faketoken&token_type=Bearer" # this URL will return a body with the "access_token" field set and can simulate an oauth token flow | |||
tokenURL: "http://httpbin:9100/base64/YWNjZXNzX3Rva2VuPWZha2V0b2tlbg==" # this URL will return a body with the "access_token" field set and can simulate an oauth token flow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had to change this because go-httpbin gives different responses for this endpoint: mccutchen/go-httpbin#141
Signed-off-by: Mason Malone <651224+MasonM@users.noreply.github.com>
/retest |
/retest |
Partial fix for #10807
Motivation
A major source of flaky CI builds for Argo Workflows is Docker Hub image limits. Here's an example:
On April 1st, Docker Hub is further reducing the limits, so I expect this is going to get worse.
Modifications
This switches the images used in the manifests (which are in turn used by the E2E tests) to use equivalent images on quay.io:
I also switched all images to use the manifest digest so we don't need to worry about an image suddenly changing and causing all builds to fail (and also partly for security).
Verification
E2E tests
Documentation
I couldn't find anything that needs to change, but let me know if I missed anything