-
Notifications
You must be signed in to change notification settings - Fork 29
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
⚠️ Action Required: Replace Deprecated gcr.io/kubebuilder/kube-rbac-proxy #365
Comments
We need to evaluate the impact on our plans to support future ORAN security requirements. Using a RH image may be preferable to using the |
Updating to use |
Hi @alegacy, I can see that you are using kubebuilder: GitHub Link. You can run
However, if you do not want to fully upgrade, then you can move with a similar approach now. If you have questions, please feel free to reach out. But
The only downside that I hope will soon be addressed is tracked in: kubernetes-sigs/controller-runtime#2781. We need to improve it to add /healthz endpoint on the metrics server and add support for alwaysAllow paths (e.g., /healthz) and alwaysAllowGroups (e.g., system:masters) to prevent metrics outages during kube-apiserver networking issues, ensuring availability during critical times. |
@camilamacedo86 Looks like this is specifically targeted to only handle the authn/authz for the metrics endpoint. While we do have some use cases where this can be implemented using the method provided (i.e., on the metrics endpoint of our operator) we have other use cases where this won't be possible -- or at least doesn't appear to be a simple drop-in replacement. For instance, we currently use the Yes, it would be possible to write those handlers in a similar way as the Again, yes, we could write custom handlers to do that but short of a ready-to-go drop-in replacement we'd have to duplicate and own code that already exists in Is there a ready-to-go library implementation that we could use that would instantiate an HTTP middleware filter (e.g., |
Hi @alegacy However, the most important here is that you cannot use the upstream image The feature in the controller runtime seems like target authentication and authorization primarily for metrics endpoints. You can raise an RFE there or look for alternatives. But if you are happy with the kube-rbac-proxy solution and it already provides what you need, you might stick with it. However, unfurtunilly, you can no longer use the image from this Registry. If you already replaced used it from another place (at your own risk) and are happy with please feel free to close this one. |
Description
gcr.io/kubebuilder/kube-rbac-proxy
is deprecated and will become unavailable.You must move as soon as possible, sometime from early 2025, the GCR will go away.
If your project uses
gcr.io/kubebuilder/kube-rbac-proxy
, it will be affected.Your project may fail to work if the image cannot be pulled. You must take action as soon as possible.
However, if your project is no longer using this image, no action is required, and you can close this issue.
Using the image
gcr.io/kubebuilder/kube-rbac-proxy
?kube-rbac-proxy was historically used to protect the metrics endpoint. However, its usage has been discontinued in Kubebuilder. The default scaffold now leverages the
WithAuthenticationAndAuthorization
feature provided by Controller-Runtime.This feature provides integrated support for securing metrics endpoints by embedding authentication (
authn
) and authorization (authz
) mechanisms directly into the controller manager's metrics server, replacing the need for (https://github.com/brancz/kube-rbac-proxy) to secure metrics endpoints.What To Do?
You must replace the deprecated image
gcr.io/kubebuilder/kube-rbac-proxy
with an alternative approach. For example:WithAuthenticationAndAuthorization
:For further information, suggestions, and guidance:
We sincerely apologize for any inconvenience this may cause.
Thank you for your cooperation and understanding! 🙏
The text was updated successfully, but these errors were encountered: