File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99// COMPLEXITY: O(1)/O(1)
1010const dockerGitBaseImage = "konard/box-js:2.1.1"
1111
12- // CHANGE: include tmux in generated project images for durable terminal multiplexing .
13- // WHY: stable project SSH links attach to persisted tmux sessions instead of one-off shell processes .
12+ // CHANGE: include tmux and build-essential in generated project images for durable sessions and Rust crate installation .
13+ // WHY: stable project SSH links need persisted tmux sessions, and cargo install of proc-macro/build-script dependencies requires a C linker .
1414// QUOTE(ТЗ): n/a
1515// REF: PR-309
1616// SOURCE: n/a
1717// PURITY: CORE
18- // INVARIANT: generated base image contains the terminal multiplexer required by project SSH sessions .
18+ // INVARIANT: generated base image contains both the terminal multiplexer and cc toolchain required before Rust browser CLI installation .
1919// COMPLEXITY: O(1)/O(1)
2020const renderDockerfileBase = ( ) : string =>
2121 `ARG DOCKER_GIT_BASE_IMAGE=${ dockerGitBaseImage }
@@ -48,7 +48,7 @@ RUN set -eu; \
4848 done; \
4949 apt-get -o Acquire::Retries=3 install -y --no-install-recommends \
5050 openssh-server git gh ca-certificates curl unzip bsdutils sudo tmux \
51- make docker.io docker-compose-v2 bash-completion zsh zsh-autosuggestions xauth \
51+ make build-essential docker.io docker-compose-v2 bash-completion zsh zsh-autosuggestions xauth \
5252 ncurses-term jq \
5353 && rm -rf /var/lib/apt/lists/*`
5454
Original file line number Diff line number Diff line change @@ -63,6 +63,7 @@ describe("app planFiles", () => {
6363 expect ( dockerfile . contents ) . toContain (
6464 "cargo install --git https://github.com/ProverCoderAI/rust-browser-connection"
6565 )
66+ expect ( dockerfile . contents ) . toContain ( "make build-essential docker.io" )
6667 expect ( dockerfile . contents ) . toContain ( "docker-git-playwright-mcp" )
6768 expect ( entrypoint . contents ) . toContain ( "docker_git_start_rust_browser_connection" )
6869 expect ( entrypoint . contents ) . toContain ( "docker-git-browser-connection" )
Original file line number Diff line number Diff line change 99// COMPLEXITY: O(1)/O(1)
1010const dockerGitBaseImage = "konard/box-js:2.1.1"
1111
12- // CHANGE: include tmux in generated project images for durable terminal multiplexing .
13- // WHY: stable project SSH links attach to persisted tmux sessions instead of one-off shell processes .
12+ // CHANGE: include tmux and build-essential in generated project images for durable sessions and Rust crate installation .
13+ // WHY: stable project SSH links need persisted tmux sessions, and cargo install of proc-macro/build-script dependencies requires a C linker .
1414// QUOTE(ТЗ): n/a
1515// REF: PR-309
1616// SOURCE: n/a
1717// PURITY: CORE
18- // INVARIANT: generated base image contains the terminal multiplexer required by project SSH sessions .
18+ // INVARIANT: generated base image contains both the terminal multiplexer and cc toolchain required before Rust browser CLI installation .
1919// COMPLEXITY: O(1)/O(1)
2020const renderDockerfileBase = ( ) : string =>
2121 `ARG DOCKER_GIT_BASE_IMAGE=${ dockerGitBaseImage }
@@ -48,7 +48,7 @@ RUN set -eu; \
4848 done; \
4949 apt-get -o Acquire::Retries=3 install -y --no-install-recommends \
5050 openssh-server git gh ca-certificates curl unzip bsdutils sudo tmux \
51- make docker.io docker-compose-v2 bash-completion zsh zsh-autosuggestions xauth \
51+ make build-essential docker.io docker-compose-v2 bash-completion zsh zsh-autosuggestions xauth \
5252 ncurses-term jq \
5353 && rm -rf /var/lib/apt/lists/*`
5454
Original file line number Diff line number Diff line change @@ -89,6 +89,7 @@ describe("renderDockerfile", () => {
8989
9090 expect ( dockerfile ) . toContain ( "ARG DOCKER_GIT_BASE_IMAGE=konard/box-js:2.1.1" )
9191 expect ( dockerfile ) . toContain ( "FROM ${DOCKER_GIT_BASE_IMAGE}" )
92+ expect ( dockerfile ) . toContain ( "make build-essential docker.io" )
9293 expect ( dockerfile ) . toContain (
9394 "#checkov:skip=CKV_DOCKER_8: docker-git entrypoint must start as root to prepare SSH/auth/bootstrap and run sshd"
9495 )
You can’t perform that action at this time.
0 commit comments