Repository navigation
Conversation
boithat429-lang
approved these changes
Oct 29, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FreekVR
force-pushed
the
allowlist-shopware-mage-os
branch
from
October 31, 2026 19:34
8c6d089 to
545a0d6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What are you trying to accomplish?
Composer update jobs for Shopware 6 and Mage-OS/Magento projects fail since
proxy-egress-enforcewas enabled. The proxy blocks two public Composer repositories, and the updater reports it asprivate_source_authentication_failure:The same happens for
mirror.mage-os.org.This adds both as exact hosts to
ecosystem_default_domains.composer:shopware.github.ioserves theshopware/conflictsmetapackage, whichshopware/corerequires. Shopware's project templates (shopware/production,shopware/template,shopware-cli,web-installer) addhttps://shopware.github.io/conflicts/to every new project'scomposer.json.mirror.mage-os.orgis the Mage-OS public mirror of the Magento Open Source packages. It needs no sign-in.Anything you want to highlight for special attention from reviewers?
Why not
registries:. Both repositories serve packages anonymously, anddependabot.ymldoes not accept acomposer-repositoryentry without a username and password.Why the exact form is safe.
github.iosubdomains are user-creatable, soshopware.github.iofollows thewp-languages.github.ioprecedent in the same section.mirror.mage-os.orgis exact as well, so othermage-os.orghosts stay blocked.Ownership evidence.
shopware.github.io: the GitHub Pages site of theshopware/conflictsrepository (GET /repos/shopware/conflicts/pagesreturnshtml_url: https://shopware.github.io/conflicts/). TLSsubject=CN=*.github.io, issued by Let's Encrypt to GitHub.mirror.mage-os.org: TLSsubject=CN=mage-os.org, SANmage-os.org, *.mage-os.org, issuer Google Trust Services. The verified GitHub organizationmage-oslinks tomage-os.org, and itsmage-os/generate-mirror-repo-jsrepository builds the mirror.Both resolve only to public addresses (GitHub Pages and Cloudflare) and answer
200on a real artifact path with no redirect:/conflicts/packages.jsonand/p2/magento/framework.json.How will you know you've accomplished your goal?
Composer update jobs that use these repositories resolve again without a
registries:entry. When the same hosts are allowed for a job, it fetches both with200and finishes, so no other host in the chain is blocked.Regression coverage in
internal/handlers/egress_allowlist_test.go:/conflicts/packages.jsonand/p2/magento/framework.jsoninTestEgressAllowlist_ProdBlockedHostsNowAllowed.evil.shopware.github.ioandevil.mirror.mage-os.orginTestEgressAllowlist_NewEntriesDoNotWidenBeyondExactHosts. Both fail when the entries are changed to the leading-dot form.attacker.mage-os.org.attacker.github.iowas already there.On my arm64 Mac,
script/teststops atgo: -race requires cgoin the tests image. I ran its test command ingolang:1.27withCGO_ENABLED=1instead (go test -race -shuffle=on -count=2 ./...), plus the CI lint steps (yamllint,go mod tidy -diff,gofmt,go vet). All pass.Checklist
Note
AI usage disclaimer
AI pair programming: Claude Code ran the triage from
add-egress-allowlist-domain, wrote the entries and tests, and ran the tests. I chose the hosts and approach and reviewed every change.