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
- 主要語言
- Shell
- 星號
- 303
- 分支
- 60
- PR 合併指標
- 30 天內沒有已合併 PR
描述
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.
貢獻指南
這個儲存庫沒有索引到貢獻指南
評估
這個 Issue 還沒有評估資料。