Skip to content

Conversation

euanh
Copy link
Collaborator

@euanh euanh commented Jul 8, 2025

Motivation

In a multi-arch image, several architecture-specific manifests are grouped together under the same index. The index has a list of content descriptors pointing to the manifests.

Currently, containertool creates single-architecture images for which the root object is a manifest. Returning a content descriptor for the manifest allows it to create an index which points to the manifest.

On its own this does not allow containertool to create multi-arch images, but it opens that possibility for the future. It is a necessary towards being able to write container images to disk.

Modifications

  • Return a ContentDescriptor from getManifest(), in addition to the manifest object
  • Return a ContentDescriptor from putManifest()

Result

containertool can retrieve a ContentDescriptor for a manifest it has written or fetched.

Test Plan

Existing tests have been updated to match the new signatures and continue to pass.

euanh added 2 commits July 8, 2025 14:27
Returning a ContentDescriptor provides the information needed to
add the manifest to an image index, making it possible to build
multi-architecture images.
@euanh euanh added kind/enhancement New feature or request semver/patch No public API change. labels Jul 8, 2025
@euanh euanh merged commit d897e9a into apple:main Jul 8, 2025
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/enhancement New feature or request semver/patch No public API change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant