-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide a way to specify desired platform when creating packages and builders #1459
Comments
Hey @dmikusa, I'm really interested to work on this project under LFX Mentorship 2023. Kindly guide me how to apply to this project and what are the resources required for solving this issue. |
If you reach out on the project Slack -> https://cloud-native.slack.com there's a |
@dmikusa unfortunately we cannot join the Slack community without a |
@abhinandanudupa That is probably another slack instance. You can get an invitation to the Cloud Native slack for any email here: https://communityinviter.com/apps/cloud-native/cncf |
@dfreilich Thank you! |
Here is a Miro board that we've used to illustrate how things work today and what a future workflow might be: https://miro.com/app/board/uXjVPrqGPB4=/ It might make sense to split this issue into two (one for buildpack packages, other for builders). Buildpack packages
should look at the target data in buildpack.toml and create a different package for each os/arch combination that is supported by the buildpack. Optionally,
could create a package for the desired platform. Builders
Where builder.toml contains a reference to a build-time base image and runtime base image:
Note this schema will be modified as part of #1303. If the referenced build-image and the referenced run-image are manifest lists,
should create a builder for the desired platform, failing if all buildpacks do not support it. Where builder.toml cc @AidanDelaney @jabrown85 @jjbustamante @joe-kimmel-vmw @jpena-r7 @ryanmoran |
Also, here is a recording of the meeting where we were talking using the mirror board mentioned by @natalieparellano |
Hey @jjbustamante , I am really interested in this discussion and proposed solutions. I went through the buildpacks concepts and also the miro board link to get an understanding of pack build and the platform specification workflow. I would love to be a value contributor to this issue as a LFX mentee and eventually many more! Looking forward :) |
Now that the stack removal was shipped, this issue requires a sub-team RFC to clarify how we can implement the requirement now that targets are part of the |
Happy to help in terms of discussion & testing, I don't have time at the moment to help with dev work. |
blocked on the following RFC |
I think the milestone for this issue is incorrect? It's currently in |
Description
With the growing need for ARM64 images, it is a challenge to build them with the current tool support. It would be helpful if we had the ability to cross package buildpacks.
If I'm on an x86_64 system, I can cross-compile my buildpack code with Go (or I could be using something that doesn't need to be compiled like Bash), however, when I run
pack buildpack package
, it will only package the image for the architecture on which I'm presently running. That doesn't seem on the surface that it would be a technical requirement to assemble the image though, the architecture-specific files are being passed into the tool.Proposed solution
I could see this being done in a few different ways:
pack
cli.package.toml
, one could then specify a different package.toml file for each desired imageDescribe alternatives you've considered
You can not do this, but it complicates the process as you then need a host OS for every os/architecture that you'd like to support.
Additional context
The text was updated successfully, but these errors were encountered: