feat: add regionless image resolver to envhub SDK#1173
Open
jake11-oho wants to merge 3 commits into
Open
Conversation
76bce36 to
033e52d
Compare
StephenRi
reviewed
Jul 1, 2026
| _default_resolver = RockRegistryResolver() | ||
|
|
||
|
|
||
| async def resolve_compose( |
81d4daa to
649fbad
Compare
Add RockRegistryResolver that rewrites container image references to ROCK mirror registries. Supports multi-registry fallback, original-namespace-first probe strategy, Bearer token auth, and in-process caching. DockerClient unifies regionless resolution with Docker CLI operations (pull, build, push, login, mirror) behind a single async entry point. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move buildx_build/push_image_tag to DockerUtil, removing DockerClient's dependency on rock.sdk.builder.provider.docker.DockerCommand - Privatize RockRegistryResolver helper methods (parse_registries, split_tag_or_digest, build_candidate, build_candidate_with_original_namespace) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…y.py Admin and SDK both implemented nearly identical Docker Registry v2 manifest probe code (Bearer auth, image parsing, candidate building, caching). Extract the shared logic into rock/utils/registry.py to eliminate ~170 lines of duplication while preserving each side's specific behavior (admin: HttpPoolManager + allowlist + credentials, SDK: env-var config + resolve-level cache + Dockerfile rewriting). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
649fbad to
c039fcb
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.
Summary
RockRegistryResolverfrom harbor torock.sdk.envhub.regionlessas SDK standard capabilityresolve_composerewritesimage:fields,compose_pullwraps resolve +docker compose pullFixes #1172
Test plan
uv run pytest tests/unit/envhub/regionless/ -v— 43/43 passeduv run ruff check+uv run ruff format --check— cleanuv run pytest -m "not need_ray and not need_admin and not need_admin_and_network") — 1622 passed, 1 pre-existing failure (unrelatedtest_disk_statistics)🤖 Generated with Claude Code