Skip to content

fix(e2e): replace Docker Hub images in E2E tests to avoid rate limits#369

Merged
pimlock merged 7 commits intomainfrom
fix-docker-hub-rate-limit/pl
Mar 16, 2026
Merged

fix(e2e): replace Docker Hub images in E2E tests to avoid rate limits#369
pimlock merged 7 commits intomainfrom
fix-docker-hub-rate-limit/pl

Conversation

@pimlock
Copy link
Collaborator

@pimlock pimlock commented Mar 16, 2026

Summary

Unauthenticated pulls from Docker Hub hit 429 rate limits in E2E tests. This switches the three test files that use python:* base images to alternatives that don't pull from Docker Hub.

Changes

  • custom_image.rs: python:3.13-slimpublic.ecr.aws/docker/library/python:3.13-slim (ECR public mirror, keeps a truly custom Dockerfile with iproute2 + sandbox user)
  • forward_proxy_l7_bypass.rs: python:3.13-alpineghcr.io/nvidia/openshell-community/sandboxes/base:latest (community sandbox base)
  • host_gateway_alias.rs: python:3.13-alpineghcr.io/nvidia/openshell-community/sandboxes/base:latest (community sandbox base)

Testing

  • mise run pre-commit passes
  • E2E tests pass (pending CI run)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

… limits

Unauthenticated pulls from Docker Hub hit 429 rate limits in E2E tests
and wheel builds. Switch all python:* base image references to
ghcr.io/nvidia/openshell/ci:latest which is already authenticated in
every CI workflow.
@pimlock pimlock self-assigned this Mar 16, 2026
@pimlock pimlock requested a review from drew March 16, 2026 19:03
@pimlock pimlock added the e2e label Mar 16, 2026
pimlock added 2 commits March 16, 2026 12:16
The CI image is heavyweight and not intended as a sandbox base. Use the
community sandbox base image instead, which is purpose-built for running
inside sandboxes.
The community sandbox base image already includes iproute2 and the
sandbox user/group (UID/GID 1000). The groupadd command failed because
GID 1000 already exists in the base image.
pimlock added 2 commits March 16, 2026 12:41
This test validates building a truly custom image from scratch, so it
needs a generic base (not the sandbox base image). Use the ECR public
mirror of python:3.13-slim to avoid Docker Hub rate limits.
The CI image's mise shims don't resolve Python tools (pip, maturin)
outside /opt/mise. Revert wheel Dockerfiles to the original
python:3.12-slim base until a proper fix is in place.
@pimlock pimlock changed the title fix(ci): replace Docker Hub python images with CI image to avoid rate limits fix(e2e): replace Docker Hub images in E2E tests to avoid rate limits Mar 16, 2026
pimlock added 2 commits March 16, 2026 13:12
The larger sandbox base image takes longer to pull than the previous
alpine image, leaving less headroom for the readiness check.
The sandbox base image is too large and times out during pull. Use the
ECR public mirror of python:3.13-alpine which is small and fast.
@pimlock pimlock merged commit 34804e1 into main Mar 16, 2026
9 checks passed
@pimlock pimlock deleted the fix-docker-hub-rate-limit/pl branch March 16, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants