Skip to content

Multi-platform container builds design#980

Open
pditommaso wants to merge 1 commit intomasterfrom
multi-platform-builds
Open

Multi-platform container builds design#980
pditommaso wants to merge 1 commit intomasterfrom
multi-platform-builds

Conversation

@pditommaso
Copy link
Collaborator

Summary

  • Adds ADR for multi-platform container image builds (amd64 + arm64 in a single OCI manifest list)
  • Architecture: persistent buildkitd Deployments on each architecture + buildx remote driver for coordination
  • From Wave perspective, a multi-platform build is still a single K8s Job -- buildx handles platform routing, parallel native builds, manifest list assembly, and push

Design highlights

  • New multiPlatform boolean on SubmitContainerTokenRequest
  • Persistent buildkitd daemons on amd64/arm64 nodes with mTLS, exposed as ClusterIP Services
  • Build Jobs use standalone buildx binary with --driver remote to connect to both daemons
  • Native build speed on both architectures (no QEMU emulation)
  • Single-platform build path is completely unchanged

Test plan

  • Review design doc in adr/20260216-multi-platform-builds.md
  • Validate K8s deployment manifests against existing cluster configuration
  • Confirm buildx remote driver + mTLS works with the proposed buildkitd setup

Describes the architecture for building multi-arch OCI manifest lists
(amd64 + arm64) using persistent buildkitd daemons with the buildx
remote driver on Kubernetes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

@gavinelder gavinelder left a comment

Choose a reason for hiding this comment

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

Looks good to me.

| Service | `buildkitd-amd64` | ClusterIP endpoint for amd64 daemon |
| Service | `buildkitd-arm64` | ClusterIP endpoint for arm64 daemon |

## Limitations and Future Work

Choose a reason for hiding this comment

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

all of these make sense if we start to offer this to customers to use in non-POC capacity

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.

3 participants

Comments