-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
drop support for argocd-cm Config Management Plugins in favor of sidecars #8117
Comments
Do see #8243 before deprecating |
Signed-off-by: CI <michael@crenshaw.dev>
Deprecation will happen in 2.5, actually removing support will be in 2.6. |
* chore: deprecate argocd-cm plugins (#8117) Signed-off-by: CI <michael@crenshaw.dev> * more warnings Signed-off-by: CI <michael@crenshaw.dev> * more warnings Signed-off-by: CI <michael@crenshaw.dev> Signed-off-by: CI <michael@crenshaw.dev>
If this gets merged in time for 2.6, I think we should delay argocd-cm removal until 2.7 so there's a transition release for folks needing the |
But how multitenancy will be handled now? |
@koushyk I understand that Argo CD Vault Plugin documentation describes a multi-tenancy design involving CMPs, but I don’t know the details. As far as I know, sidecar plugins can accomplish the same thing. What problems do you anticipate? |
I know there is a way to pass variable to using plugin:name:env but what option I have with sidecar plug-ins ? |
I'm not sure I follow... but sidecar plugins support the same |
it's working without specifying name:
|
As of Argo CD 2.6, sidecar plugins support If If So, as far as I can tell, sidecar plugins have at least as many capabilities as argocd-cm plugins. The discovery rules (and therefore |
Considering pushing the feature removal to 2.8. There are still some issues with sidecar CMPs I'd like to sort. |
Maybe sidecar doesn't exactly need to have access to private repos? I'm struggling with integrating Argo Vault Plugin with helm and faced the same issue (private repo not visible by the sidecar plugin) and what have crossed my mind is an idea to allow some sort of pipeline mechanism when using plugins (like a list of plugins to generate final output applied to cluster). In such case helm built-in plugin would be run by ARGO (with access to prive repo) and the AVP would only apply its logic on the output generated by helm plugin. |
Summary
Argo CD should drop support for CMPs installed via argocd-cm. Installing CMPs via sidecars on repo-server should be made as simple as possible (via docs/examples).
Motivation
Having two ways to configure CMPs is confusing.
The docs are longer, and it's difficult to tell which comments apply to which install method.
Having two ways to use CMPs is confusing.
argocd-cm CMPs must be referenced by name in the Application spec. But sidecar CMPs must not be referenced by name (they're invoked only according to discovery output). This difference is difficult to document (each place where there's an example
plugin
config must include a comment) and is not intuitive to users (why would one plugin be referenced by name and another plugin not be referenced by name)?Maintaining two CMP installation methods is difficult and error-prone.
The differing invocation methods is one example. Differing manifest init processes is another example.
Providing support for two different CMP types is difficult.
For each question asked about CMPs, the answers may differ based on what kind of plugin. The extra back-and-forth and clarification of terms can introduce frustration.
Adding binaries via volumeMount or a custom repo-server image is weird.
The volumeMount relies on pulling files from an external source. The custom image requires a custom build/update process.
Decoupling the repo-server from plugins just makes sense.
Generating manifests is a distinct task from the other work the repo-server does. Adding separation between repo-server and plugins can help avoid unexpected interaction, especially since the config management tools interact heavily with the filesystem.
Proposal
The text was updated successfully, but these errors were encountered: