Add dynamic config provider for exec-based credential refresh#1
Open
Add dynamic config provider for exec-based credential refresh#1
Conversation
Add support for a new cluster authentication method that executes an external command to produce a full kubeconfig file dynamically. Unlike ExecProviderConfig which only produces credentials, this provider generates an entire kubeconfig (server, CA, auth) that ArgoCD reads to build a REST config. Key changes: - New KubeConfigExecProvider type in ClusterConfig - SetConfigProvider option in gitops-engine cluster cache for dynamic config refresh on each sync cycle - Unit tests for new functionality Closes argoproj#26729 Signed-off-by: Kushal Bhandari <kushalb@fb.com>
|
@kushwiz Hey! 👋 Aren't you targeting the wrong repository? 🤔 I think this should be a MR to https://github.com/argoproj/argo-cd ? 🤔 |
Owner
Author
Yes! I am waiting for the proposal to get approved So, I can send the PR there :) |
Owner
Author
|
argoproj#27743 here is it @baurmatt |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for a new cluster authentication method called
KubeConfigExecProviderthat executes an external command to produce a full kubeconfig file dynamically. Unlike the existingExecProviderConfigwhich only produces credentials, this provider generates an entire kubeconfig (including server, CA, and auth) that ArgoCD reads to build a REST config.Why is this needed?
In secure enterprise environments, cluster credentials and CA certificates are frequently rotated. The existing
ExecProviderConfigonly refreshes auth credentials, not the full TLS configuration including CA certificates. This causes connection failures when CAs rotate, requiring manual cluster re-registration.This feature enables:
Closes argoproj#26729
Changes
KubeConfigExecProvidertype inClusterConfigfor executing external commands that produce full kubeconfig filesSetConfigProvideroption in gitops-engine cluster cache for dynamic config refresh on each sync cycleChecklist
PR Title: