User Story
As a user I would like to remove the embedded metadata within clusterctl so that I don't need to rely on using the latest version of clusterctl in order to pull newer provider releases.
Detailed Description
The embedded metadata provided within clusterctl was very helpful initially when trying to provide a seamless Day 0 experience.
However, recently there have been some issues (see #3418) regarding usage of a specific clusterctl version when trying to pull a latest provider release.
However, it is encouraging that newer providers are following the provider contract and are releasing a metadata.yaml as part of their release artifacts.
IMO this would be beneficial for provider authors/developers because if they ship a metadata.yaml as part of their own repo release artifacts they won't have to remember or worry about clusterctl's version and backward compatibility.
Anything else you would like to add:
See issue https://github.com/kubernetes-sigs/cluster-api/issues/3418 for relevant info on the issue that raised reliance on embedded metadata.
Warning One of the biggest drawbacks to removing the embedded metadata would be that, if a user uses the version of clusterctl without the embedded metadata AND they try to pull a provider release which also doesn't have a metadata.yaml (e.g. for CAPA, all releases <=v0.5.5) then they are not going to have a good time.
A way to get around this is to include the appropriate metadata.yaml for all the older releases for that provider.
/kind feature
/area clusterctl
/milestone v0.4.0
/priority important-soon
This probably goes in hand with the management cluster operator work
@vincepri I think this can be done independent of the management cluster operator work. It might be better to just remove the embedded metadata from clusterctl. A little less code to port over to the operator once that work begins. WDYT?
I agree this is a separate issue from the management cluster operator; ideally, we should get this implemented as soon as possible vs having this later in the cycle.
@wfernandes what about marking this issue as help/good first issue (according to the expected impacts, e.g. on tests)?
/help
/good-first-issue
@wfernandes:
This request has been marked as suitable for new contributors.
Please ensure the request meets the requirements listed here.
If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-good-first-issue command.
In response to this:
/help
/good-first-issue
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/test-infra repository.
/assign
/lifecycle active
Most helpful comment
/assign
/lifecycle active