Repository navigation
Allowlist Traefik and Calico helm chart repositories - #299
Merged
v-robaiken merged 2 commits intoOct 12, 2026
Merged
Conversation
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The exact-host entries are appropriately scoped, supported by provider documentation, and covered by positive and boundary tests.
Review effort: Balanced
Findings: None
What changed in this PR
Adds exact-host egress access for public Traefik and Calico Helm chart repositories.
Changes:
- Allowlist three provider-controlled Helm repository hosts.
- Add positive and exact-host boundary regression probes.
| File | Description |
|---|---|
internal/handlers/egress_allowlist_defaults.yaml |
Adds Traefik and Calico chart hosts. |
internal/handlers/egress_allowlist_test.go |
Verifies allowed paths and blocks child/sibling hosts. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
weg3mu
force-pushed
the
allowlist-traefik-tigera-helm-charts
branch
from
October 6, 2026 14:17
5332d70 to
81b1c5f
Compare
5 tasks done
Add the public chart repositories of Traefik (traefik.github.io, helm.traefik.io) and Project Calico (docs.tigera.io) to the helm ecosystem defaults as exact hosts, with positive probes and child/sibling negative probes.
weg3mu
force-pushed
the
allowlist-traefik-tigera-helm-charts
branch
from
October 7, 2026 12:43
81b1c5f to
6e232aa
Compare
v-robaiken
approved these changes
Oct 12, 2026
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?
Since
proxy-egress-enforcewas enabled (2026-10-01), helm update jobs for two widely used public charts can no longer reach their chart repositories:The index fetch failure is silent: dependabot-core's helm updater logs
Latest version is(empty),No update possible, and the job succeeds. The tarball failure surfaces asHelperSubprocessFailedinDependabot::Helm::Helpers.update_lock.This PR adds the three hosts to
ecosystem_default_domains.helmunder "Public HTTP chart repositories", next tocharts.bitnami.com,charts.jetstack.ioand the other public chart repos:traefik.github.ioindex.yamland chart.tgz)helm repo add traefik https://traefik.github.io/charts); GitHub Pages of thetraefikorghelm.traefik.ioindex.yaml. Its tarball URLs point totraefik.github.ioCN=traefik.io(Google Trust Services), Cloudflare-fronted, anonymous 200 on/traefik/index.yamldocs.tigera.iotigera-operator,crd.projectcalico.org.v1). Tarballs are ongithub.com/projectcalico/calico/releaseshelm repo add projectcalico https://docs.tigera.io/calico/charts); TLS certCN=docs.tigera.io; CNAMEtigera.netlify.com; anonymous 200 on/calico/charts/index.yamlWhy the defaults and not per-job
registries:independabot.yml:docs.tigera.iocan't be reached throughregistries:at all. The config validator requiresusername/password(ortoken) on ahelm-registryentry, and the helm handler then attaches Basic auth to every request to that host. The site is backed by S3, which rejects any non-SigV4Authorizationheader with400 InvalidArgument: Unsupported Authorization Type. So the only way for helm jobs to reach Calico's chart repo is an anonymous request, which these defaults make possible.Anything you want to highlight for special attention from reviewers?
traefik.github.iois one org's GitHub Pages host, in the same form as the existingprometheus-community.github.io/grafana.github.ioentries. No*.github.iowidening.helm.traefik.ioanddocs.tigera.ioare exact as well.docs.tigera.ioalso hosts Calico documentation. It is on the list because it is the canonical Helm chart repository, not for changelog links. Without it, Calico helm updates fail outright rather than degrading gracefully.How will you know you've accomplished your goal?
TestEgressAllowlist_AddedMissingDomainsAllowedfor a real path on each host.evil.<host>) added toTestEgressAllowlist_NewEntriesDoNotWidenBeyondExactHosts, plus sibling probesattacker.traefik.io/attacker.tigera.io. Checked that the child probes bite: switching the three entries to leading-dot form makes the test fail withnew entries must not widen to: https://evil.<host>/payload. Reverted afterwards.verify_hostroutine from.github/skills/add-egress-allowlist-domain: all addresses are public, there were no redirects, and the cert subjects are as listed above.Checklist
script/test(Docker,-race -shuffle=on -count=2) passes;yamllint,gofmt -l,go vet ./...andgo mod tidy -diff(the CI lint job) are clean.