anthropics / anthropics/devcontainer-features
Please publish a release: firewall removal merged a year ago (#21) but ghcr.io still serves v1.0.5 with the old behavior
- Ngôn ngữ chính
- Shell
- Star
- 303
- Fork
- 60
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
PR #21 ("Remove firewall feature from claude-code") merged on **2025-06-13**, removing all firewall logic from the `claude-code` feature. A year later, the published artifact `ghcr.io/anthropics/devcontainer-features/claude-code:1.0` is still **v1.0.5** and still contains the pre-#21 behavior. Could you cut a release (e.g. v1.0.6 or v1.1.0) so the artifact matches `main`?
The stale artifact is the root cause of at least two open issues:
- #38 — `install.sh` in the published artifact (`setup_firewall_script()`, ~line 117) unconditionally copies its bundled script to `/usr/local/bin/init-firewall.sh`. Features build **after** the user's Dockerfile, so any user-provided script at that path is silently overwritten, and there is no feature option to disable this (`"options": {}`).
- #30 — the bundled `init-firewall.sh` is an outdated copy that breaks DNS in docker-compose setups.
One more failure mode we hit (not yet covered by those issues): the bundled script hard-fails the whole container setup (`exit 1`) when **any** domain in its allowlist fails to resolve — including `statsig.anthropic.com` and `statsig.com`. Enterprise networks commonly block telemetry domains at DNS level, even though Claude Code works fine there with `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1`. Combined with the silent overwrite, the sequence is nasty to debug: a user writes their own firewall script that tolerates blocked telemetry domains, the feature silently replaces it, and `postCreateCommand` then aborts on a domain the user never asked to allowlist.
The divergence makes this hard to troubleshoot from source: `src/claude-code/install.sh` on `main` contains no firewall logic at all, yet `devcontainer-feature.json` on `main` also says `1.0.5` — the same version string as the published artifact that *does* contain it. Inspecting the repo tells you the bug shouldn't exist.
Verified today (2026-06-12) by pulling the OCI layer for `claude-code:1.0` from ghcr.io: manifest reports v1.0.5, `install.sh` contains `setup_firewall_script()`, bundled `init-firewall.sh` is the 119-line version.
## Asks
1. **Publish a release** from current `main` so the artifact no longer installs/overwrites `/usr/local/bin/init-firewall.sh` (this alone resolves #38 and #30).
2. Bump the version in `devcontainer-feature.json` as part of that release, so the source and published artifact can't share a version string while differing in behavior.
3. If a firewall script ever returns to this feature: namespace it (e.g. `claude-init-firewall.sh`), never overwrite an existing file, gate it behind a feature option, and make it warn-and-continue on unresolvable domains rather than aborting container setup.
Happy to send a PR for the version bump if that helps.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.