Consider limited kubeconfig for internal components and consumers
#5,553 opened on Nov 1, 2021
Repository metrics
- Stars
- (4,267 stars)
- PR merge metrics
- (PR metrics pending)
Description
User Story
As a developer/user/operator I would like to CAPI core internal components to be granted only with the perms they need.
Detailed Description
Today CAPI generates a full admin config that is then consumed by the Machine Controller and by any component claiming a cluster accessor through the remote cache tacker, i.e r.Tracker.GetClient(ctx, util.ObjectKey(cluster)).
The Machine controller shouldn't need full admin client to operate successfully. There might be other components needing narrowed set of permissions:
- Autoscaling.
- Azure AD for cluster authentication https://capz.sigs.k8s.io/topics/aad-integration.html (if you have the admin kubeconfig it kind of defeats the purpose).
This is to discuss alternatives for: 1 - Create limited kubeconfigs for consumption of our internal core components. 2 - Consider providing a way to express desired for capi outputting t-shirt size / limited kubeconfigs.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
/kind feature