kubernetes-sigs / kubernetes-sigs/cluster-api
Make retry for `clusterctl` check for cert-manager API ready configurable
- Dominant language
- Go
- Stars
- 4.3k
- Forks
- 1.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 113
Description
### What would you like to be added (User Story)?
We have some bits in the `clusterctl init` which checks for cert-manager API to be ready.
https://github.com/kubernetes-sigs/cluster-api/blob/ccaea78cdbf068a1fe072bde78794e98c15c1072/cmd/clusterctl/client/cluster/cert_manager.go#L162-L165
The checks uses `waitForAPIReady` which is called without retry which means it just check for the API to be ready only once and if it is not ready then it installs a new cert-manger instance. We might have cert-manager already installed but may be experiencing some intermittent issue which can be avoided with retry.
https://github.com/kubernetes-sigs/cluster-api/blob/ccaea78cdbf068a1fe072bde78794e98c15c1072/cmd/clusterctl/client/cluster/cert_manager.go#L540-L546
Would like to add a flag (default to false) which can enable the retry of this particular check.
### Detailed Description
Add a new flag in `clusterctl init` command to retry the check for cert-manager API readiness. This flag can have a default value to false which will keep the default behaviour but can be overridden.
### Anything else you would like to add?
_No response_
### Label(s) to be applied
/kind feature
One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels.
Contributor guide
Assessment
This issue has not been assessed yet.