refactor(sandbox): use Docker Engine Go client - #140
Merged
Conversation
yanpgwang
force-pushed
the
codex/docker-engine-sdk
branch
2 times, most recently
from
August 12, 2026 10:06
bda5517 to
b9818a5
Compare
yanpgwang
force-pushed
the
codex/docker-engine-sdk
branch
from
August 12, 2026 11:06
b9818a5 to
b2c0d22
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
dockerCLI subprocess with the supportedgithub.com/moby/moby/clientEngine API client.auths,credsStore, andcredHelpersconfiguration for cold pulls of private images.DOCKER_HOST, and Docker TLS behavior.Verification
make verifymake test-servicemake docs-checkmake local-configmake securityb2c0d22, the final verdict wasAPPROVEwith no merge-blocking findings.Compatibility
There are no HTTP, event, database, or persisted sandbox-reference changes. Existing Docker bindings still store and attach by container ID. Docker 29 and later publish
github.com/moby/moby/clientandgithub.com/moby/moby/apias the supported Go modules: https://github.com/moby/moby#go-modulesDurability and security
Container names remain provider-side idempotency keys, and ambiguous create acknowledgements retain their bind source for attach/audit recovery. Definite daemon rejections and acknowledged cleanup remove their staging roots. Cleanup uses bounded fresh contexts and remains idempotent on missing containers. File reads consume Engine tar streams in memory and reject non-regular archive entries without materializing them on the worker host; container-side path resolution retains Docker archive semantics.
Checklist