Skip to content

Provide a way to specify desired platform when creating packages and builders #1459

@dmikusa

Description

@dmikusa

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:

  1. As a flag to the pack cli.
  2. As an option in package.toml, one could then specify a different package.toml file for each desired image
  3. Both 1 and 2.

Describe 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

  • This feature should be documented somewhere

Metadata

Metadata

Assignees

Labels

epic/multi-archstatus/blockedIssue or PR that is blocked. See comments.status/requires-rfcIssue or PR that requires an RFC to be filed.type/enhancementIssue that requests a new feature or improvement.

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions