Skip to content

Refactor: container export a tar archive - #1303

Merged
JaewonHur merged 4 commits into
apple:mainfrom
tico88612:feat/export
Mar 11, 2026
Merged

Refactor: container export a tar archive#1303
JaewonHur merged 4 commits into
apple:mainfrom
tico88612:feat/export

Conversation

@tico88612

Copy link
Copy Markdown
Contributor

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Motivation and Context

Fixed #1265

Testing

  • Tested locally
  • Added/updated tests
  • Added/updated docs

Comment thread Tests/CLITests/Subcommands/Containers/TestCLIExport.swift
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
@tico88612

Copy link
Copy Markdown
Contributor Author

Uh, forgot the final make fmt. Fixed.

@JaewonHur
JaewonHur merged commit 79ef846 into apple:main Mar 11, 2026
3 checks passed
@tico88612
tico88612 deleted the feat/export branch March 12, 2026 02:07

@vxnkjyffmq-code vxnkjyffmq-code left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update

@tico88612

Copy link
Copy Markdown
Contributor Author

@jglogan sorry for ping, could you ban vxnkjyffmq-code ? This account send many spam messages here.

stephenlclarke added a commit to stephenlclarke/container that referenced this pull request Jul 10, 2026
Export the immutable image snapshot recorded in runtime configuration when a created container has not materialized its writable rootfs yet. Existing stopped containers continue to export their writable bundle disk.

Upstream-Ref: apple#1265

Upstream-Ref: apple#1303

Release-Highlight: Exports containers immediately after container create, enabling Compose Bridge transformer source generation without starting the image.
stephenlclarke added a commit to stephenlclarke/container that referenced this pull request Jul 10, 2026
Use persisted bundle filesystem metadata whenever a container has been materialized, and consult runtime configuration only for a genuinely never-started container. This keeps stopped-container exports faithful while enabling image-snapshot export immediately after create.

Refs: apple#1265

Refs: apple#1303

Release-Highlight: Exporting a never-started container now works without changing stopped-container filesystem semantics.
stephenlclarke added a commit to stephenlclarke/container that referenced this pull request Jul 10, 2026
Treat only a missing bundle rootfs description as evidence that a container has never started. Preserve decoding and I/O failures so export cannot silently substitute the immutable image snapshot for a materialized container filesystem.

Refs: apple#1265

Refs: apple#1303
stephenlclarke added a commit to stephenlclarke/container that referenced this pull request Jul 10, 2026
Exercise export against a never-started container with deliberately malformed bundle rootfs metadata and verify that no archive is produced. This protects the materialized-filesystem guard from regressing into image-snapshot fallback.

Refs: apple#1265

Refs: apple#1303
stephenlclarke added a commit to stephenlclarke/container-compose that referenced this pull request Jul 10, 2026
Load compose-go's public Bridge model and the Swift runtime projection in one pass, enrich it with runnable image metadata and file-backed resources, and execute Kubernetes, Helm, custom, and repeated transformations safely.

Create transformer sources by exporting never-started containers and securely selecting the templates subtree. Match Docker's table, JSON, quiet, list, and ls discovery behavior, including digest aliases and platform-aware size selection.

Upstream-Ref: docker/compose#13482

Upstream-Ref: docker/compose#13483

Upstream-Ref: docker/compose-bridge-transformer#22

Upstream-Ref: apple/container#1265

Upstream-Ref: apple/container#1303

Release-Highlight: Compose Bridge now carries published ports plus text and binary configs and secrets into Kubernetes, Helm, and custom transformations.

Release-Highlight: bridge transformations create now extracts templates from stopped transformer images without running them (apple/container#1265, apple/container#1303).

Release-Highlight: bridge transformations list and ls now match Docker table, JSON, and quiet output, including digest-only images.

Release-Highlight: Versioned official Bridge transformers now run reliably on Apple silicon through the compatibility path fixed by docker/compose-bridge-transformer#22.
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.

[Bug]: container export should export a tar file.

4 participants