Skip to content

chore: mirror Docker Hub images behind recent CI rate-limit failures - #37

Merged
joshuarli merged 1 commit into
mainfrom
junior/mirror-ci-docker-hub-gaps
Oct 9, 2026
Merged

joshuarli merged 1 commit into
mainfrom
junior/mirror-ci-docker-hub-gaps

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Mirror the Docker Hub images that broke getsentry CI over the past hour with 429 toomanyrequests, auth.docker.io timeouts/504s, or registry 500s. Floating tags are pinned to the patch tag they resolve to today, so consumers can reference an immutable tag.

Image Mirrored tag Was Used by
tonistiigi/binfmt qemu-v10.2.3-68 latest action-build-and-push-images (QEMU setup)
moby/buildkit v0.33.1 buildx-stable-1 action-build-and-push-images, sentry self-hosted.yml (buildx)
library/python 3.13.15-slim-trixie — sentry, getsentry
tufin/oasdiff v1.33.0 main (untagged dev build; pinned to latest release) sentry openapi-diff.yml
nvidia/cuda 12.8.0-base-ubuntu24.04 — seer
pgvector/pgvector 0.8.7-pg14-bookworm pg14 seer
library/redis 7.4.11-alpine 7-alpine seer
library/alpine 3.16.2 — devinfra-deployment-service
library/rust 1.96.1-bookworm 1.96-bookworm taskbroker
library/node 22.23.3-alpine 22-alpine dogsitter
library/debian 12.15-slim 12-slim launchpad
library/python 3.14.4-slim-bookworm — launchpad
library/python 3.12.9-bookworm 3.12@sha256:9e615ab… (linux digests from that pin) google-cloud-storage-testbench (objectstore CI)
google/cloud-sdk 588.0.0 latest objectstore
library/ubuntu noble-20260917 24.04 teapot
library/alpine 3.22.1 — uptime-checker
library/postgres 15.19 15 sentry-scripts
confluentinc/cp-kafka 7.9.0 — sentry-scripts
altinity/clickhouse-server 22.8.15.25.altinitystable — sentry-scripts

All entries are amd64 + arm64, except google/cloud-sdk:588.0.0, which is amd64-only upstream.

Notes

  • Digests come from the repo's _digests() helper. python3 -uSm main sync --dry-run lists every new entry as would sync.
  • The IMAGES block was rendered sorted the same way main update does. That moves the existing clickhouse/clickhouse-server:26.8.1.2041 and checkr/flagr:latest entries, but doesn't change them.
  • library/python:3.12.9-bookworm uses the linux amd64/arm64 digests from the testbench's pinned index. The upstream 3.12 index also has Windows manifests, which the mirror skips.
  • New GHCR packages need to be publicly pullable, like the existing image-mirror-* packages.
  • The sync job itself pulls from Docker Hub, so it may need a re-run if Docker Hub is still degraded.

Consumer draft PRs that switch to these mirrors are linked from the originating Slack thread.

via @joshuarli.

--

View Junior Session [Sentry]

Co-Authored-By: Joshua Li <14209781+joshuarli@users.noreply.github.com>
@joshuarli
joshuarli merged commit 48b8ea8 into main Oct 9, 2026
13 checks passed
@joshuarli
joshuarli deleted the junior/mirror-ci-docker-hub-gaps branch October 9, 2026 21:49
joshuarli added a commit to getsentry/objectstore that referenced this pull request Oct 9, 2026
`google/cloud-sdk` (implicit `latest`) →
`ghcr.io/getsentry/image-mirror-google-cloud-sdk:588.0.0`, which is what
`latest` resolves to today. Changed in the Bigtable emulator step in
`.github/workflows/ci.yml` and in `devservices/config.yml`.

**Why:** `Test (all features)` has been failing on anonymous Docker Hub
pulls (`auth.docker.io` timeouts and 429s) from GitHub-hosted runners.

**Depends on** getsentry/image-mirror#37 being merged and synced.
`588.0.0` is amd64-only upstream, same as before.

**Related:** the GCS emulator is built from
`getsentry/google-cloud-storage-testbench#main`, whose `FROM
python:3.12@sha256:…` is also on Docker Hub. There's a separate draft PR
in that repo.

<!-- junior-request-attribution:start -->
via @joshuarli.
<!-- junior-request-attribution:end -->

<!-- junior-session-footer:start -->
<!-- junior-conversation-id:slack%3ACTJL7358X%3A1791579377.495359 -->

--

[View Junior
Session](https://junior-prod.sentry.dev/conversations/slack%3ACTJL7358X%3A1791579377.495359)
[[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3ACTJL7358X%3A1791579377.495359/?project=4510944073809921)

<!-- junior-session-footer:end -->

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Joshua Li <14209781+joshuarli@users.noreply.github.com>
joshuarli added a commit to getsentry/sentry that referenced this pull request Oct 9, 2026
Move the Docker Hub pulls that have been failing CI with `429
toomanyrequests` / `auth.docker.io` timeouts onto GHCR mirrors:

- `self-hosted/Dockerfile`: `python:3.13.15-slim-trixie` →
`ghcr.io/getsentry/image-mirror-library-python:3.13.15-slim-trixie`.
- `.github/workflows/self-hosted.yml`: both direct
`docker/setup-buildx-action` steps now use `driver-opts:
image=ghcr.io/getsentry/image-mirror-moby-buildkit:v0.33.1` instead of
pulling `moby/buildkit:buildx-stable-1`.
- `.github/workflows/openapi-diff.yml`: replace
`oasdiff/oasdiff-action/breaking`, which builds `FROM
tufin/oasdiff:main` on Docker Hub, with a `docker run` of
`ghcr.io/getsentry/image-mirror-tufin-oasdiff:v1.33.0 breaking …
--fail-on WARN --format githubactions`. `main` is an untagged dev build,
so this pins to the latest release.

**Depends on** getsentry/image-mirror#37 being merged and synced. Until
then, the touched jobs will fail to pull.

**Not included:** the `tonistiigi/binfmt` pull inside
`getsentry/action-build-and-push-images`. That's fixed in that action,
and this repo will need a SHA bump once it merges.

<!-- junior-request-attribution:start -->
via @joshuarli.
<!-- junior-request-attribution:end -->

<!-- junior-session-footer:start -->
<!-- junior-conversation-id:slack%3ACTJL7358X%3A1791579377.495359 -->

--

[View Junior
Session](https://junior-prod.sentry.dev/conversations/slack%3ACTJL7358X%3A1791579377.495359)
[[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3ACTJL7358X%3A1791579377.495359/?project=4510944073809921)

<!-- junior-session-footer:end -->

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Joshua Li <14209781+joshuarli@users.noreply.github.com>
joshuarli added a commit to getsentry/uptime-checker that referenced this pull request Oct 9, 2026
`Dockerfile`: `alpine:3.22.1` →
`ghcr.io/getsentry/image-mirror-library-alpine:3.22.1`.

**Why:** `build-multiplatform-image-ghcr-arm64` has been failing on
anonymous Docker Hub pulls (`429 toomanyrequests`) from GitHub-hosted
runners.

**Depends on** getsentry/image-mirror#37 being merged and synced.

**Not included:** the `tonistiigi/binfmt` pull inside
`getsentry/action-build-and-push-images`. That's fixed in that action,
and this repo will need a SHA bump once it merges.

<!-- junior-request-attribution:start -->
via @joshuarli.
<!-- junior-request-attribution:end -->

<!-- junior-session-footer:start -->
<!-- junior-conversation-id:slack%3ACTJL7358X%3A1791579377.495359 -->

--

[View Junior
Session](https://junior-prod.sentry.dev/conversations/slack%3ACTJL7358X%3A1791579377.495359)
[[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3ACTJL7358X%3A1791579377.495359/?project=4510944073809921)

<!-- junior-session-footer:end -->

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Joshua Li <14209781+joshuarli@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant