Skip to content

Allow Docker Hub's CloudFront blob CDN - #10

Open
pnc wants to merge 2 commits into
mainfrom
fix-docker-blob-cdn-allowlist
Open

Allow Docker Hub's CloudFront blob CDN#10
pnc wants to merge 2 commits into
mainfrom
fix-docker-blob-cdn-allowlist

Conversation

@pnc

@pnc pnc commented Aug 5, 2026

Copy link
Copy Markdown
Member

Docker seems to use both Cloudflare R2 and CloudFront as CDNs to serve image layers, so allow both.

pnc and others added 2 commits August 5, 2026 15:01
`docker pull hello-world` in the guest fails: the manifest fetch succeeds,
then the layer download is blocked with a proxy 418 and docker reports
`error pulling image configuration: download failed after attempts=6`,
which reads as a network fault rather than a missing allowlist rule.

Docker Hub serves blobs from production.cloudfront.docker.com as well as
the Cloudflare R2 bucket already allowed here, and picks per request, so
allowing only one of them fails intermittently by design. Observed in
.vm/blocked.jsonl as repeated GETs to
production.cloudfront.docker.com/registry-v2/docker/registry/v2/blobs/...

This is what was failing test_docker_hello_world on every branch — it is
unrelated to the guest clock, and it fails in CI too, since CI uses this
same allowlist.

Adds a TestShippedAllowlist class that checks the real allowlist.txt
against the URLs a pull actually requests. The existing filter tests all
use synthetic rules, so nothing covered the shipped file, which is where
upstream CDN drift shows up.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.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.

3 participants