-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
✨ setup-envtest: download binaries from controller-tools releases #2811
✨ setup-envtest: download binaries from controller-tools releases #2811
Conversation
9f723df
to
376fd6e
Compare
/assign @vincepri @alvaroaleman /cc @chrischdi @fabriziopandini (fyi) |
/hold Want to create a few more envtest binary archives via controller-tools releases after this PR is approved and before it is merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you a lot !!!
It seems great
376fd6e
to
6459f05
Compare
Sorry for the push force. Forgot to push a few small improvements before |
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit.
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit.
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811
To align with kubernetes-sigs/controller-runtime#2811. Also we now have access to the same version we use in the release which is 1.29.5.
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit.
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit.
This is a commit from CR main (22.05.2024). Intentionally using a commit from main to use a setup-envtest version that uses binaries from controller-tools, not GCS. CR PR: kubernetes-sigs/controller-runtime#2811 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit.
setup-envtest today downloads archives with envtest binaries from the kubebuilder GCS bucket. Given kubernetes/k8s.io#2647 we have to ASAP move away from this.
@vincepri and I tried and discussed various options (GitHub packages, k8s staging GCS bucket & registry, k8s prod registry) and we eventually ended up with publishing envtest binaries to controller-tools releases. The reason was that this is the only supported place to host artifacts in the k8s ecosystem for us:
So our new envtest binary archive "repository" looks like this:
This PR now extends setup-envtest so that it can download envtest archives from the controller-tools repo. This is also the new default. This PR also deprecates the functionality to download from the kubebuilder bucket or from GCS buckets in general. We anticipate that this will be removed with v0.19 or v0.20. We only keep it around for now as a fallback option.
The UX looks like this:
--index
can be used--use-deprecated-gcs
can be used (for now, until either the flag is removed or the bucket goes down, whatever comes first)TBD how we backport this. My initial idea would be to backport it to release-0.17 with
--use-deprecated-gcs
enabled per default (I don't want to change the behavior in a patch version of setup-envtest)I did the following manual testing:
Additional infos:
Old
New
Testing this via this PR in CAPI: kubernetes-sigs/cluster-api#10569