Add code-server image build (WOVED-35) - #28
Conversation
Extends codercom/code-server with gh CLI, tmux, and claude-code; entrypoint configures git identity + gh auth from env vars on startup. CI produces ghcr.io/nprodromou/codex-shell:code-server-latest on main. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… in base image) codercom/code-server bundles its own Node.js for the IDE process but does not expose npm on PATH. The previous npm install step was hitting "npm: not found" (exit 127) in CI. Fix: add a Node.js LTS install via nodesource before the claude-code npm install step so the integrated terminal also gets a usable node/npm. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Ticket scope listed gh, git, tmux, and codex-cli. The previous commit only added claude-code. Add @openai/codex in the same npm install call so both AI tools are available in the integrated terminal. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
codex-prodromou
left a comment
There was a problem hiding this comment.
Reviewed the actual patch for PR #28. The new code-server image is cleanly isolated under code-server/, the workflow adds a separate build-code-server job without disturbing the existing codex/claude matrix builds, and the PR CI shows build-code-server passed.\n\nSecurity/design notes checked: code-server runs with --auth none, but the PR documents that auth is enforced at WARP/Cloudflare Access and this image is consumed by the apk8s-side deployment; no raw public exposure is introduced in this repository. gh/git setup is environment-driven and the image adds the expected gh, tmux, claude-code, and codex tooling.\n\nNo blocking findings from this diff. The remaining validation belongs to the linked apk8s deployment PR/runtime path: confirm edge auth, PVC mount, and env secret wiring when that manifest lands.
codex-prodromou
left a comment
There was a problem hiding this comment.
Reviewed the actual diff for nprodromou/codex-shell#28, posted an approving GitHub review, and added a Plane audit comment to WOVED-35.
No blocking findings. CI showed build-code-server passing; the only remaining checks are in the linked apk8s runtime path.
WOVED_REVIEW_OUTCOME: approved
Summary
code-server/Dockerfileextendingcodercom/code-serverwith gh CLI, tmux, and claude-codecode-server/entrypoint.shthat configures git identity + gh auth from env vars before starting code-server with--auth none.github/workflows/build.ymlwith abuild-code-serverjob that publishesghcr.io/nprodromou/codex-shell:code-server-lateston main branch pushesImage notes
codercom/code-server:latest(Ubuntu, usercoderuid 1000)gh,tmux,@anthropic-ai/claude-code@anthropic-ai/claude-codepatches auto-merge; gh via customgithub-releasesmanagerDependency
Provides the image consumed by
nprodromou/apk8sPR (code-server Kubernetes manifests, WOVED-35). Both PRs can land independently — the apk8s side usespullPolicy: Alwayswith thecode-server-latestmutable tag until Renovate pins a SHA.Test plan
ghcr.io/nprodromou/codex-shell:code-server-latestis publisheddocker run --rm -p 8080:8080 ghcr.io/nprodromou/codex-shell:code-server-latestopens VS Code in browser at localhost:8080🤖 Generated with Claude Code