apple / apple/swift-container-plugin

`containertool` should build multi-arch images

Open
#64 0 comments 3 reactions 0 assignees View on GitHub
kind/enhancement status/needs-design
Dominant language
Swift
Stars
390
Forks
26
Avg merge
8m
Merged PRs (30d)
1

Description

`containertool` currently builds single-architecture container images (the top object is an architecture-specific `Manifest`). It should build multi-arch images (the top object is an `ImageIndex` which points to several architecture-specific `Manifest` objects).

Currently, a SwiftPM plugin cannot build two binaries in one invocation, however `containertool` could build a multi-arch binary if several architecture-specific binaries were passed in. ELF type detection (#49) would make this quite straightforward: `containertool` could accept several binaries for different architectures as command line arguments, detect the architecture of each binary and build an architecture-specific `Manifest`, then build an `ImageIndex` linking them all together.

Contributor guide

Open the contributing guide

Research direction

Start by tracing containertool's current single-architecture image build and review the ELF type detection work in issue #49. The issue describes accepting multiple architecture-specific binaries, creating a Manifest for each, and producing an ImageIndex linking them; done means the tool can build a multi-arch image from those inputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.