Skip to content

fix(sandbox): point image downloads at the codev storage prefix - #230

Merged
quickbeard merged 1 commit into
mainfrom
fix/sandbox-storage-path
Aug 14, 2026
Merged

quickbeard merged 1 commit into
mainfrom
fix/sandbox-storage-path

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

The bucket moved the sandbox images from codev-storage/codev-code/sandbox/… to codev-storage/codev/sandbox/…, and the old prefix now returns 403. Since SANDBOX_MANIFEST_URL derives from SANDBOX_IMAGES_BASE_URL, every sandbox create currently fails at the manifest fetch.

One-line change to the base URL. Everything else follows from it: the manifest URL clients read, and the asset URLs build-image.ts stamps into future manifests.

Verified against the live bucket

manifest.json                     200
1.18.4-8/bwrap-arm64.tar.gz       200  780,737,847 B
1.18.4-8/bwrap-x64.tar.gz         200  801,213,462 B
1.18.4-8/vz-arm64.tar.gz          200  792,667,251 B
1.18.4-8/vz-x64.tar.gz            200  813,565,632 B

Sizes match the freshly built artifacts. Package suite: 103 pass / 2 skip.

Companion action outside this PR

The manifest currently published at the new path was generated before this change, so its embedded url fields still point at the dead codev-code prefix — a client would fetch the manifest successfully and then 403 on every asset. I have corrected the local copy in ~/Downloads/codev/manifest.json (URLs only; hashes and byte counts untouched, and each corrected URL was re-verified against the bucket). That 1 KB file needs re-uploading to codev/sandbox/manifest.json — no tarball re-upload needed.

🤖 Generated with Claude Code

The bucket moved the sandbox images from codev-code/sandbox to
codev/sandbox, and the old prefix now returns 403 — so every sandbox
create failed at the manifest fetch. Repoint the base URL; the manifest
URL and every asset URL the build script generates follow from it.

Verified against the live bucket: the manifest and all four artifacts
resolve at the new prefix with the expected sizes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@quickbeard
quickbeard merged commit 12ebc14 into main Aug 14, 2026
0 of 5 checks passed
@quickbeard
quickbeard deleted the fix/sandbox-storage-path branch August 14, 2026 04:13
quickbeard added a commit that referenced this pull request Aug 15, 2026
The bucket moved the sandbox images from codev-code/sandbox to
codev/sandbox and #230 repointed SANDBOX_IMAGES_BASE_URL, but
publish-image.ts kept its own hardcoded copy of the old prefix. Every
upload therefore landed under a path that reads 403, while the
manifest.json clients actually fetch was never touched: the publish
printed "published sandbox image <version>" and changed nothing.

Derive the destinations from the manifest's own asset URLs and
SANDBOX_MANIFEST_URL instead, via sandboxStorageObjectKey — the object
key is the URL path minus the bucket segment, which CODEV_STORAGE_TARGET
already carries. Publishing now goes exactly where the manifest says the
artifacts live, so the two sides cannot drift again; the version guard
above already pins those URLs to the version being published.

Verified with a synthetic out dir: the printed mc commands target
codev/sandbox/<version>/<artifact> and codev/sandbox/manifest.json,
artifacts before the manifest.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant