CC-8364 Allow containers without imageName - #7307
Merged
ghostwriternr merged 2 commits intoSep 15, 2026
Merged
ghostwriternr merged 2 commits into
ghostwriternr merged 2 commits into
Conversation
ghostwriternr
marked this pull request as draft
September 10, 2026 19:16
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #7307 +/- ##
==========================================
+ Coverage 37.31% 37.41% +0.10%
==========================================
Files 811 811
Lines 253974 254182 +208
Branches 20105 20110 +5
==========================================
+ Hits 94776 95114 +338
+ Misses 147788 147624 -164
- Partials 11410 11444 +34 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
ghostwriternr
force-pushed
the
fix/container-named-images-no-default
branch
from
September 10, 2026 21:28
70e749d to
c212581
Compare
ghostwriternr
force-pushed
the
fix/container-named-images-no-default
branch
4 times, most recently
from
September 11, 2026 09:59
797aa34 to
a96c59f
Compare
ghostwriternr
force-pushed
the
fix/container-named-images-no-default
branch
2 times, most recently
from
September 11, 2026 11:21
b19b9c8 to
a11d197
Compare
ghostwriternr
commented
Sep 11, 2026
ghostwriternr
marked this pull request as ready for review
September 11, 2026 12:56
5 tasks
skepticfx
approved these changes
Sep 11, 2026
gabivlj
reviewed
Sep 11, 2026
gabivlj
approved these changes
Sep 11, 2026
ghostwriternr
force-pushed
the
fix/container-named-images-no-default
branch
2 times, most recently
from
September 11, 2026 17:37
e1fa43e to
21c9e44
Compare
Named-image Durable Objects select an image at start time. Workerd required imageName on every Container-enabled namespace, which forced local tooling to invent an image and diverge from production. Make imageName optional. Namespaces that set it keep no-argument start(). Namespaces that omit it must pass an image or a full container snapshot. Named images stay on ctx.container.images; they are not a replacement for imageName.
ghostwriternr
force-pushed
the
fix/container-named-images-no-default
branch
from
September 11, 2026 17:43
21c9e44 to
826ca8a
Compare
danlapid
approved these changes
Sep 15, 2026
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.
Container Apps have a namespace-level image. workerd models that as
imageName, and currently requires it on every Container-enabled Durable Object namespace.Container Instances do not have a namespace-level image. Worker code chooses the image on start(), and a full container snapshot is also a valid source. Local development cannot represent Instances today.
This change makes
imageNameoptional. Namespaces that still set it keep no-argument start() behavior. Namespaces that omit it must pass an image or a full container snapshot to start(). Named images stay onctx.container.imagesso Worker code can pass them to start(). They are not a replacement forimageName.A full container snapshot replaces the image, so restore starts from the snapshot even when the namespace has a different
imageName. Directory snapshots only overlay files, so they still need an image or full snapshot underneath.Tests cover API validation, named-image and empty configurations, direct image selection, missing sources, directory snapshots as a non-source, and Docker-backed snapshot restore against a different
imageName.