buildpacks / rfcs

RFCs for Cloud Native Buildpacks
Apache License 2.0
56 stars 71 forks source link

[RFC #000] - Multi-arch support in CNB Ecosystem #294

Open jjbustamante opened 9 months ago

jjbustamante commented 9 months ago

The purpose of this issue is to track the work related to support multi-architecture image in CNB ecosystem, it is a complex project and we will try to divide it in phases. in each phase we will try to provide something valuable for the community and get feedback.

Phase 1

We started with a project developed during the LFX 2023 term, the goal for this phase is to release a set of commands for handling Image Index on pack.

Update May 2024

All the required PR were merged! we are expecting the feature to be included on pack 0.34.0

Update April 2024

Unfortunately we haven't merged the PR developed during the LFX 2023 because we were missing some test coverage, we are working on adding some tests an polish the code a little bit and the expectation is to include these features on pack 0.34.0 or 0.35.0, once this code is merged into main, we will keep working on Phase 2

RFC

Pack

Imgutil

Documentation:

Phase 2

After implementing the primitives to handle a Image Index, we will focus on solving the requirement of packaging builders and buildpacks for different os/arch

The focus of this phase will be:

Update May 2024

We decided to move a little bit our 0.34.0 release date but include this feature in this version!

Update April 2024

This phase requires the code from phase 1 to be available, but during KubeCon EU 2024 we presented a demo with a PoC implementation of the RFC.

RFC

Pack

Documentation:

Phase 3

In this phase, we assume the existence of Builders and Buildpacks addressable by Image Index

We want to focus on solving the problem to make pack build and output applications images for different os/arch.

Update March 2024

We started working on a LFX mentorship to develop a proof of concept to run pack build using buildkit behind de scenes

RFC

Pack

Documentation:

Maintainers: when closing this issue as completed, submit a PR to update the Status of the RFC to Implemented.

vnobo commented 9 months ago

good job

zs-dima commented 5 months ago

+1 ARM64 is very much in demand

jjbustamante commented 1 month ago

Update - 05/31/2024

Again, the problem of supporting multi-platform can't be solved in just one place, all the components need to be available for multi-platform, but pack 0.34.0 was a big win on that direction.