-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Remove hard coded info about cert manager #3505
Comments
/milestone Next |
/area clusterctl |
I feel like this issue and #3491 could be intertwined with each other. |
Can this be a flag in the clusterctl? or what is the idea other ideas? |
I think that a possible approach is to derive hard-coded info (version, manifest-hash) from the embedded manifest, so when you upgrade the manifest there is no more need for manual code changes at every cert-manager release bump |
As part of the clusterctl version check #3484, we added a |
@wfernandes we don't have version.yaml in release and this line assume if the file is not there, then that's ok and recreate it later but the code is hard code ,so should we put the version.yaml into release then download |
@jichenjc The version checker is run after any clusterctl command is executed. So if the file doesn't exist in the beginning, it will be created after. However, after thinking about it some more, it probably doesn't make sense to store this hash. Because the hash will probably be used only when ApplyUpgrade is called. So may be it just makes sense to compute the hash every time since I doubt I don't think putting the Hope this helps. |
@fabriziopandini @vincepri any comments on the info provided by @wfernandes above? |
I agree with @wfernandes that it does not make sense to store additional info in version .yaml, but instead, we should derive hard-coded info (version, manifest-hash) from the embedded manifest whenever necessary |
so we need find some other places to store such info ? e.g hash.yaml ? |
@jichenjc if I got right the original intent of the comment was to get rid of these following const in the code, and instead derive that info from the embedded manifest. As per @wfernandes comment, the idea of storing that info somewhere else does not make really sense. |
@fabriziopandini thanks, so |
embedded manifest is the manifest under cmd/clusterctl/config/assets which is the converted into bindata and shipped in the binary. cluster-api/cmd/clusterctl/client/cluster/cert_manager.go Lines 331 to 334 in 0154e3d
|
+1, we've also discussed that we should be able to remove the embedded manifests (bindata), and instead use the upstream cert-manager repository to retrieve the assets and install them. If there are any patches that need to be performed, those should be in the form of json-patch |
If we are including in the scope removing the embedded manifests, I suggest to take some more time before starting to implement this issue, because the current concept of repository used for providers can't be easily adapted to cert-manager (something that is not a provider) and we need something similar to support air-gapped environments |
Let's focus this issue on removing the embedded constants, rather than restructuring how we manage cert-manager, what do you think? |
@vincepri @fabriziopandini do you think create a configmap will solve the problem? |
@jichenjc we basically need two informations, cert-manager version and the hash.
|
/close |
@fabriziopandini: Closing this issue. In response to this:
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. |
As per #3364 (comment)
#3313 introduce some hard-code info about cert-manager in the code base here.
This code was slightly refactored in #3364, but in the long term we should get rid of this or find an alternative that doesn't require manual code changes at every cert-manager release bump
/kind cleanup
The text was updated successfully, but these errors were encountered: