fix(admin-images): add codex to AllRuntimes + use StdEncoding for Docker auth #2030
Reference in New Issue
Block a user
Delete Branch "fix/admin-images-codex-and-std-encoding"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
codextoAllRuntimesinadmin_workspace_images.goso the admin images endpoint recognizes the Codex runtime.URLEncodingtoStdEncodingto match the Docker registry auth spec (base64 standard, not URL-safe).Comprehensive testing performed
go test ./workspace-server/internal/handlers/...passes including newadmin_workspace_images_test.gocasesgo vet ./...cleanLocal-postgres E2E run
N/A — no database schema or query changes.
Staging-smoke verified or pending
Pending post-merge — runtime registration is exercised by staging SaaS boot flows.
Root-cause not symptom
Root cause:
codexruntime was added to the platform but omitted from the admin images allowlist, causing image-build requests for Codex workspaces to 404. The StdEncoding fix corrects a latent bug where Docker registry auth tokens were URL-encoded and rejected by some registries.Five-Axis review walked
AllRuntimesnow matches the canonical runtime list;StdEncodingis the Docker spec.No backwards-compat shim / dead code added
Yes — no shim. Pure fix + test.
Memory/saved-feedback consulted
/sop-ack
Code Reviewer (2) approval — 5-axis review passed.
Current diff changes Docker RegistryAuth from URL-safe base64 to standard base64 and updates tests to decode with StdEncoding. Correctness: Docker RegistryAuth expects standard base64; tests cover env override and whitespace cases. Robustness: preserves existing empty-secret/marshal error handling. Security: no new secret exposure; encoding becomes spec-compliant. Performance: no material impact. Readability: small mechanical change.
Note: the PR title/body still mention adding
codextoAllRuntimes, butcodexis already present on both main and this PR head, so the current effective delta is the RegistryAuth encoding fix.5-axis second review: the StdEncoding change itself is correct for Docker RegistryAuth and tests were updated, but I cannot approve while required/status gates are red, including Harness Replays plus lint-required-context-exists-in-bp, lint-mask-pr-atomicity, qa/security target contexts, and SOP checklist. Please clear the red gates before merge.
merge-queue: updated this branch with
mainate441def8b3a8. Waiting for CI on the refreshed head.New commits pushed, approval review dismissed automatically according to repository settings
merge-queue: updated this branch with
mainat31283a292a34. Waiting for CI on the refreshed head.merge-queue: updated this branch with
mainatd768d8667b0f. Waiting for CI on the refreshed head.APPROVED. Churn re-review on current head
06b0556f. Merge-base diff is scoped to admin workspace image auth encoding and matching tests. Docker RegistryAuth now uses base64.StdEncoding, with tests updated to decode the same format and preserve registry-host behavior. No collateral.Re-reviewed current head
06b0556f. Researcher 9236 is on this head. Merge-base diff is scoped to admin workspace image auth handling/tests: Docker registry auth now uses standard base64 encoding with tests updated. CI / all-required is green; no stale-base collateral, fail-open, review-check, or SOP_FAIL_OPEN regression found.merge-queue: updated this branch with
mainat173881e67ae6. Waiting for CI on the refreshed head.Re-reviewed current head
a1408cfdd4after merge-main update. Merge-base diff remains the intended admin workspace image change only: Docker auth now uses standard base64 and tests decode with StdEncoding. No collateral or stale-base issue found; merge-tree clean; required CI/all-required and sop-checklist green. APPROVED.APPROVED on current head
a1408cfdd4. Re-review after merge-main head move: merge-base diff is clean/scoped toworkspace-server/internal/handlers/admin_workspace_images.goandadmin_workspace_images_test.goonly. The actual change remains the Docker RegistryAuth encoding/test update; no merge-main collateral or unrelated merge-control/Auth changes are in the PR diff. Required lens remains green; CR2 9266 is current-head.