Skip to content

ci: allow production.cloudfront.docker.com in harden-runner egress#2552

Merged
EyeCantCU merged 1 commit into
chainguard-dev:mainfrom
astrojerms:fix/harden-runner-docker-cloudfront
May 29, 2026
Merged

ci: allow production.cloudfront.docker.com in harden-runner egress#2552
EyeCantCU merged 1 commit into
chainguard-dev:mainfrom
astrojerms:fix/harden-runner-docker-cloudfront

Conversation

@astrojerms
Copy link
Copy Markdown
Member

@astrojerms astrojerms commented May 29, 2026

Docker Hub serves image blobs from a CDN, and sometimes uses CloudFront (production.cloudfront.docker.com) in addition to the Cloudflare endpoint already allowlisted. Docker changed this recently (see Docker Hub release notes, ~a week ago: https://docs.docker.com/docker-hub/release-notes/), which is why crane pulls of Docker Hub images (e.g. chainguard/static in the e2e xcover test) started failing harden-runner egress with:

dial tcp: lookup production.cloudfront.docker.com ... i/o timeout

Same CloudFront usage was observed in mono CI, and fixed here:
https://github.com/chainguard-dev/mono/pull/41186

Add production.cloudfront.docker.com:443 to the egress allowlist in the Test packages (e2e) and release jobs, alongside the existing Cloudflare endpoint.

Melange Pull Request Template

Functional Changes

  • This change can build all of Wolfi without errors (describe results in notes)

Notes:

SCA Changes

  • Examining several representative APKs show no regression / the desired effect (details in notes)

Notes:

Linter

  • The new check is clean across Wolfi
  • The new check is opt-in or a warning

Notes:

Docker Hub serves image blobs from a CDN, and sometimes uses CloudFront
(production.cloudfront.docker.com) in addition to the Cloudflare endpoint
already allowlisted. Docker changed this recently (see Docker Hub release
notes, ~a week ago: https://docs.docker.com/docker-hub/release-notes/),
which is why crane pulls of Docker Hub images (e.g. chainguard/static in
the e2e xcover test) started failing harden-runner egress with:

  dial tcp: lookup production.cloudfront.docker.com ... i/o timeout

Same CloudFront usage was observed in mono CI:
https://github.com/chainguard-dev/mono/actions/runs/26589819417/job/78350661305#step:18:25

Add production.cloudfront.docker.com:443 to the egress allowlist in the
Test packages (e2e) and release jobs, alongside the existing Cloudflare
endpoint.
@astrojerms astrojerms marked this pull request as ready for review May 29, 2026 20:12
@EyeCantCU
Copy link
Copy Markdown
Member

Thanks for fixing!

@EyeCantCU EyeCantCU merged commit cc2c81d into chainguard-dev:main May 29, 2026
62 of 65 checks passed
@astrojerms astrojerms deleted the fix/harden-runner-docker-cloudfront branch May 29, 2026 20:26
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.

2 participants