Skip to content

container: Add export --format=tar command#2018

Draft
cgwalters wants to merge 1 commit intobootc-dev:mainfrom
cgwalters:tar-export-work
Draft

container: Add export --format=tar command#2018
cgwalters wants to merge 1 commit intobootc-dev:mainfrom
cgwalters:tar-export-work

Conversation

@cgwalters
Copy link
Collaborator

Some people want to use container build tools, but for compatibility with older systems export a tar format of the OS state e.g. Anaconda liveimg expects this.

Basically this is only slightly more than just tar cf; we need to handle SELinux labeling and move the kernel.

Ref: #1957

Assisted-by: OpenCode (Sonnet 4.5)

@github-actions github-actions bot added the area/documentation Updates to the documentation label Feb 23, 2026
@bootc-bot bootc-bot bot requested a review from henrywang February 23, 2026 21:56
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a bootc container export --format=tar command, along with extensive testing infrastructure using Anaconda in QEMU. The implementation of the export functionality is solid, but I've found a potential issue with error handling when creating directories in the tar archive. Additionally, there's an opportunity to simplify the new test harness code by using a standard library for base64 encoding instead of a custom implementation. Finally, I've suggested a clarification in the new documentation to make an example kickstart script less redundant.

@cgwalters cgwalters force-pushed the tar-export-work branch 4 times, most recently from a1a7444 to 9e3909b Compare February 26, 2026 19:04
@cgwalters cgwalters marked this pull request as ready for review February 27, 2026 20:01
@cgwalters cgwalters marked this pull request as draft March 3, 2026 01:58
@cgwalters cgwalters force-pushed the tar-export-work branch 2 times, most recently from 5a7e853 to 3a98558 Compare March 3, 2026 17:08
Some people want to use container build tools, but for compatibility
with older systems export a tar format of the OS state e.g.
Anaconda liveimg expects this.

Basically this is only *slightly* more than just `tar cf`; we need
to handle SELinux labeling and move the kernel.

Note in order to test this we grew a whole new anaconda.rs, but
this is mitigated for now by moving most of the qemu logic into
bcvk.

Ref: bootc-dev#1957

Assisted-by: OpenCode (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation Updates to the documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant