Is your feature request related to a problem? Please describe.
Currently sveltos can only authenticate to managed clusters with a kubeconfig, This can pose a potential security issue if the kubeconfig uses a long living token.
Describe the solution you'd like
Use oidc client credential flow to retrieve a short living token from a oauth prover with client_id and client_secret for authentication against the managed clusters.
addon-controller needs to manage token caching and expiry.
client_id and client_secret should be fetched from a secret.
Describe alternatives you've considered
Alternative would be to implement token retrieval and rotation in the sveltoscluster secrets outside of sveltos, or provide a way to use this kubectl plugin: https://github.com/int128/kubelogin
Additional context
Is your feature request related to a problem? Please describe.
Currently sveltos can only authenticate to managed clusters with a kubeconfig, This can pose a potential security issue if the kubeconfig uses a long living token.
Describe the solution you'd like
Use oidc client credential flow to retrieve a short living token from a oauth prover with client_id and client_secret for authentication against the managed clusters.
addon-controller needs to manage token caching and expiry.
client_id and client_secret should be fetched from a secret.
Describe alternatives you've considered
Alternative would be to implement token retrieval and rotation in the sveltoscluster secrets outside of sveltos, or provide a way to use this kubectl plugin: https://github.com/int128/kubelogin
Additional context