Revert "refactor(agent-images): use explicit Debian base"
tracker-policy-pr / check-pr (pull_request) Successful in 13s
test / integration-docker (pull_request) Successful in 36s
test / unit (pull_request) Successful in 45s
lint / lint (push) Successful in 57s
test / integration-firecracker (pull_request) Failing after 5m24s
test / coverage (pull_request) Has been skipped
test / publish-infra (pull_request) Has been skipped

This reverts commit 51b82f80d1.
This commit is contained in:
2026-07-21 17:41:04 +00:00
parent 51b82f80d1
commit 735d8ed5f3
5 changed files with 29 additions and 55 deletions
@@ -13,18 +13,16 @@ userspace and an OCI container tool without requiring per-project setup.
## Problem
The Claude, Codex, and Pi images inherited the generic `node:22-slim` tag. That
tag did not make Debian the explicit supported base and left the images on the
older Bookworm release. None of the built-in images installed Podman, so tasks
that need to inspect or build OCI images first had to modify the bottle or
could not run at all.
The Claude, Codex, and Pi images inherit the generic `node:22-slim` tag. That
tag does not state which Debian release the project supports and currently
leaves the images on the older Bookworm release. None of the built-in images
installs Podman, so tasks that need to inspect or build OCI images must first
modify the bottle or cannot run at all.
## Goals / success criteria
- Every Dockerfile under `bot_bottle/contrib/*/Dockerfile` explicitly inherits
`debian:trixie-slim`, Debian 13 (the current stable release).
- Every image explicitly creates the non-root `node` runtime user with UID and
GID 1000 instead of relying on a language image to provide it.
`node:22-trixie-slim`, based on Debian 13 (the current stable release).
- Every built-in agent image installs Podman from Debian stable.
- Every built-in agent image retains an SSH client for Git-over-SSH workflows.
- The non-root agent user owns a traversable XDG Git configuration directory,
@@ -41,10 +39,9 @@ could not run at all.
## Design
Use the explicit `debian:trixie-slim` base. Install Node.js and npm from Debian
stable where a provider needs them, and create the common `node` runtime user
explicitly. Install the `podman` package with each image's existing `apt-get`
Use the explicit `node:22-trixie-slim` base rather than the floating `slim`
variant. Install the `podman` package with each image's existing `apt-get`
dependency layer, so package metadata and caches are still removed in the same
layer. Treat Debian stable as the Node.js and Podman stability and update
channel; this keeps the images distribution-first and avoids adding a
third-party package repository.
layer. Treat Debian stable as the Podman stability and update channel; this
keeps the images stdlib/distribution-first and avoids adding a third-party
package repository.