Skip to content
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

Releases contain identical binary with 2 different names #5056

Open
nrb opened this issue Jul 15, 2024 · 5 comments
Open

Releases contain identical binary with 2 different names #5056

nrb opened this issue Jul 15, 2024 · 5 comments
Labels
area/clusterawsadm Issues or PRs related to clusterawsadm area/ux Issues or PRs related to UX kind/bug Categorizes issue or PR as related to a bug. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@nrb
Copy link
Contributor

nrb commented Jul 15, 2024

/kind bug

What steps did you take and what happened:

Starting with v2.4.2, we built binaries with the .goreleaser.yaml settings. This includes both clusterctl-aws and clusterawsadm, which are the same binary, just different names.

The clusterctl plugin docs state:

A plugin determines the command path it implements based on its filename. Each sub-command in the path is separated by a dash (-). For example, a plugin for the command clusterctl foo bar baz would have the filename clusterctl-foo-bar-baz.

Under our current naming scheme, the user will have to rename the binary to use it since we include the OS and platform in the filename.

However, all of our documentation and the Cluster API book rely on the clusterawsadm name, and this has broken in the past.

What did you expect to happen:

The client-side executable is built and included in a release only once. We need to come to consensus on what the name should be.

Anything else you would like to add:

Also of note, we provide instructions to brew install clusterawsadm.

There was a Slack discussion about this topic that I've tried to summarize in this issue.

@k8s-ci-robot k8s-ci-robot added kind/bug Categorizes issue or PR as related to a bug. needs-priority labels Jul 15, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If CAPA/CAPI contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jul 15, 2024
@nrb
Copy link
Contributor Author

nrb commented Jul 15, 2024

/area ux
/area clusterawsadm

@k8s-ci-robot k8s-ci-robot added area/ux Issues or PRs related to UX area/clusterawsadm Issues or PRs related to clusterawsadm labels Jul 15, 2024
@kranurag7
Copy link
Contributor

continuing the slack discussion here, I think in the long term only publishing one binary is the way to go. For now, we can create a issue with clear title about the migration (that we are switching the binary names from clusterawsadm => clusterctl-aws) and pin it for few weeks and then update clusterawsadm reference upstream.

@nrb
Copy link
Contributor Author

nrb commented Jul 16, 2024

For brew, whomever takes on this task will need to follow https://docs.brew.sh/Rename-A-Formula, so moving https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/c/clusterawsadm.rb to a clusterctl-aws.rb file (note: I do not know if this is actually proper per the Brew naming guidelines) and adding an entry in formula_renames.json

@nrb
Copy link
Contributor Author

nrb commented Aug 5, 2024

During the Aug 05 2024 community meeting, we decided to use the clusterctl-aws name going forward.

I'll also take an action item to treat this as an API deprecation and look up the Kube policy for length on this (I think 3 minor releases or 9 months, whichever is longer, but not sure).

Also, the CLI should detect the clusterawsadm binary name and issue a warning around the deprecation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/clusterawsadm Issues or PRs related to clusterawsadm area/ux Issues or PRs related to UX kind/bug Categorizes issue or PR as related to a bug. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

3 participants