kubernetes-sigs/cluster-api

Make retry for `clusterctl` check for cert-manager API ready configurable

Open

#11,960 opened on Mar 12, 2025

View on GitHub
 (3 comments) (1 reaction) (1 assignee)Go (1,532 forks)auto 404
help wantedkind/featurepriority/backlogtriage/accepted

Repository metrics

Stars
 (4,267 stars)
PR merge metrics
 (PR metrics pending)

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