Skip to content

Rename e2b sandbox image, default install.sh to the published GHCR sandbox image#89

Merged
MiniMax-AI-Dev merged 2 commits into
mainfrom
fix/sandbox-e2b-rename-and-remote-default
Jul 11, 2026
Merged

Rename e2b sandbox image, default install.sh to the published GHCR sandbox image#89
MiniMax-AI-Dev merged 2 commits into
mainfrom
fix/sandbox-e2b-rename-and-remote-default

Conversation

@RyanLee-Dev

Copy link
Copy Markdown
Collaborator

Summary

Two follow-ups after #88 merged and sandbox-image-release.yml successfully published for the first time:

  1. Rename: parsar-daemon-claudecodeparsar-sandbox-e2b. The old name was a leftover from the deleted infra/e2b-templates/parsar-daemon-claudecode/ directory; now that there are just two variants of one Dockerfile ("local" and "e2b"), parsar-sandbox-e2b matches parsar-sandbox:local's naming instead. Renamed everywhere: the GHCR image name in the workflow, the Dockerfile's own comments, and every Go reference (comments, E2BProviderConfig.Template examples, TemplateID test fixtures) — all placeholder/example strings, not hardcoded config gating real behavior, so this is a pure rename.

    (Note: this commit was originally on Fix arm64 sandbox image build: TARGETARCH default shadows BuildKit auto-injection #88 but got orphaned when that PR was merged one push cycle early — cherry-picked onto this branch.)

  2. Point install.sh / docker-compose.yml at the published image: sandbox-image-release.yml now actually publishes ghcr.io/minimax-ai-dev/parsar-sandbox:latest (confirmed — pulled it, all 4 CLIs work). DEFAULT_SANDBOX_IMAGE / AGENT_DAEMON_SANDBOX_DOCKER_IMAGE now default to that instead of requiring a local docker build first — this is the last piece of the original "sandbox does not start after ./install.sh" investigation from earlier in this chain of PRs.

Test plan

  • go build + go vet + go test pass on both touched Go packages after the rename + a gofmt -w re-alignment the shorter string required
  • Repo-wide grep confirms no leftover parsar-daemon-claudecode
  • Pulled ghcr.io/minimax-ai-dev/parsar-sandbox:latest directly and confirmed node/claude/codex/pi/parsar-daemon/parsar all work
  • Ran ./install.sh fresh with no --sandbox-image flag and no PARSAR_SANDBOX_IMAGE override: confirmed .env gets the GHCR image, and parsar-server's startup log reports "agent_daemon docker sandbox provider wired" against ghcr.io/minimax-ai-dev/parsar-sandbox:latest
  • docker compose config --quiet, bash -n install.sh both pass

🤖 Generated with Claude Code

yuanhe and others added 2 commits July 11, 2026 17:06
parsar-daemon-claudecode was a legacy name carried over from the old
infra/e2b-templates/parsar-daemon-claudecode/ directory. Now that the
sandbox images are just "local" and "e2b" variants of one Dockerfile,
parsar-sandbox-e2b matches parsar-sandbox:local's naming instead of an
unrelated directory-derived name.

Renamed everywhere: the GHCR image name in
.github/workflows/sandbox-image-release.yml, the Dockerfile's own
build/usage comments, and every reference in server Go code (comments,
E2BProviderConfig.Template examples, and TemplateID test fixtures in
sandbox_provider_test.go / sandbox_admin_test.go). All are placeholder/
example strings, not hardcoded config gating real behavior (the actual
e2b template id an operator uses comes from AGENT_DAEMON_SANDBOX_TEMPLATE
at runtime) — safe as a pure rename.

gofmt -w on sandbox_provider.go / sandbox_admin_test.go: the shorter
string shifted struct-literal field alignment: to reformat (also fixed
a pre-existing import-order issue in sandbox_admin_test.go as a
side effect of running gofmt, unrelated to this rename).

Verified: go build + go vet + go test on both touched packages pass;
repo-wide grep confirms no leftover "parsar-daemon-claudecode".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
sandbox-image-release.yml now successfully publishes
ghcr.io/minimax-ai-dev/parsar-sandbox on every push to main (verified:
pulled it and confirmed all 4 agent CLIs work). Point install.sh /
docker-compose.yml at it by default instead of requiring an operator
to `docker build` locally first — this is the last piece of the
original "sandbox does not start after ./install.sh" investigation:
zero-command install now actually includes working sandbox mode.

- install.sh: DEFAULT_SANDBOX_IMAGE -> ghcr.io/minimax-ai-dev/parsar-sandbox:latest
- docker-compose.yml: AGENT_DAEMON_SANDBOX_DOCKER_IMAGE default -> same
- INSTALL.md: drop the "no published default, build one first" note;
  document PARSAR_SANDBOX_IMAGE=parsar-sandbox:local as the opt-out for
  a local build instead

Verified end to end: `./install.sh` with no --sandbox-image flag and
no PARSAR_SANDBOX_IMAGE override writes the GHCR image into .env, and
parsar-server's startup log confirms
"agent_daemon docker sandbox provider wired" against
ghcr.io/minimax-ai-dev/parsar-sandbox:latest.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@MiniMax-AI-Dev MiniMax-AI-Dev merged commit 107b258 into main Jul 11, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants