feat(agent): add configurable static helper image for volume ops#769
Conversation
Add a purpose-built agent-helper image (Zig, FROM scratch, ~130 KB) as a smaller alternative to busybox for agent volume population/cleanup, plus a publish workflow and Go build tool. Consolidate the helper image reference into a single configurable source: config.HelperImage resolves explicit config/flag, then DEVSY_HELPER_IMAGE, then config.DefaultHelperImage. Default remains busybox until the shell-based call sites are ported to the helper's subcommands.
✅ Deploy Preview for devsydev canceled.
|
|
Warning Review limit reached
Next review available in: 46 seconds Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (12)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Deploy Preview for images-devsy-sh canceled.
|
Summary
Adds a purpose-built agent-helper container image as a much smaller alternative to
busyboxfor agent volume operations (population/cleanup), and makes the helper image reference easily configurable so users can stay on busybox or point at a custom image.images/agent-helper/— a single static Zig binary in aFROM scratchimage (~130 KB/arch vs ~4.45 MB forbusybox:latest). Implements justpopulate(stdin → file, chmod 0755) andclean(idempotent unlink) via raw Linux syscalls.hack/agent_helper_image/— Go tool that cross-compiles the helper foramd64/arm64(matches the repo'sgo run ./hack/...convention)..github/workflows/publish-agent-helper.yml— builds a multi-arch manifest and publishes toghcr.io/<owner>/agent-helperon release/dispatch; PRs touching the image build-only. Uses the GitHub App token, actions pinned by SHA. Version is auto-resolved (release tag → latest git tag), with an optional dispatch override.busybox:latestliteral intoconfig.DefaultHelperImage+ aconfig.HelperImage()resolver. Precedence: explicit config/flag →DEVSY_HELPER_IMAGEenv → default.Notes
busybox:latest). The custom image can't become the default until the shell-based call sites (sh -c 'cat > …', version detect,rm -f) are ported to the helper'spopulate/cleansubcommands — that cutover is a deliberate follow-up.packages: writeon this repo.Verification
go build ./...,go vet,gofmtclean; affected package tests pass (addedpkg/config/helper_test.gocovering the resolver precedence).FROM scratchimage builds and passes populate/clean smoke tests locally.