buildpacks / pack

CLI for building apps using Cloud Native Buildpacks
https://buildpacks.io
Apache License 2.0
2.58k stars 288 forks source link

Inconsistent parameter naming for target architecture #2175

Open nicolasbender opened 5 months ago

nicolasbender commented 5 months ago

Description

Currently, different commands use different parameter names for building for a specific architecture. Here are few examples:

pack buildpack new uses --targets

pack builder create uses --target

pack build uses --platform

We noticed that this leads to confusion and also issues in help and log messages like the Pro-Tip for pack builder create which proposes --targets instead of the correct --target.

Proposed solution

Harmonization of the parameter names leads to a consistent experience for the user. Our proposal is to use an additional --targets alias for all commands which is based on the naming for the multi-arch properties in the toml configuration like stated in specs for buildpack.toml, image-extension.toml and Stacks-Removal-RFC96, Multi-Arch-RFC128.

jjbustamante commented 5 months ago

Hi @nicolasbender , thanks for filling this issue, sorry about the confusion, we actually added --platform to pack build in the very last minute before relasing pack 0.34.x because we noticed it behavior for M1 users could be broken. We still need to do more things for multi-platform, we will keep an eye on this.

natalieparellano commented 5 months ago

I agree - we need to think through carefully when we're using targets to mean the run image and when we're using targets to mean the build image. Right now they MUST be the same platform, but in a world where that isn't necessarily the case we must explain ourselves.