Skip to content

Allow Docker Hub's CloudFront blob CDN - #10

Merged
pnc merged 2 commits into
mainfrom
fix-docker-blob-cdn-allowlist
Aug 12, 2026
Merged

Allow Docker Hub's CloudFront blob CDN#10
pnc merged 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>
@pnc
pnc added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit 23f9fc2 Aug 12, 2026
3 checks passed
@pnc
pnc deleted the fix-docker-blob-cdn-allowlist branch August 12, 2026 16:48
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