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
no matches for kind "ConfigManagementPlugin" in ArgoCD 2.8.0 #15152
Comments
ConfigManagementPlugin is not an actual CRD. It's a config file that's formatted to look like a CRD. You're meant to embed it in a ConfigMap and mount it into your plugin's sidecar. I want to remove the CRD-like fields from that file, because it is confusing: #14440 |
Thanks @crenshaw-dev for your help. apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
data:
configManagementPlugins: |
apiVersion: argoproj.io/v1alpha1
kind: ConfigManagementPlugin
metadata:
name: kustomized-helm
spec:
init:
command: ["/bin/sh", "-c"]
args: ["helm dependency build"]
generate:
command: [sh, -c]
args: ["helm template --release-name release-name . > all.yaml && kustomize build"]
kustomize.buildOptions: --enable-helm
resource.customizations: |
networking.k8s.io/Ingress:
health.lua: |
hs = {}
hs.status = "Healthy"
return hs However I could not find in ArgoCD documentation how to check that the ConfigManagementPlugin is correctly set in the application controller. How can I check the list of ConfigManagementPlugins ? |
^same question |
Do I read it right then that the migration guide is misleading and the configManagementPlugins entries stay where they were? |
@prein : From what I understood from documentation, this : data:
configManagementPlugins: |
- name: kustomized-helm
init:
[...] ...should be converted into this : data:
configManagementPlugins: |
apiVersion: argoproj.io/v1alpha1
kind: ConfigManagementPlugin
metadata:
name: kustomized-helm
spec:
init:
[...] But I could not find a way to check this configuration is correct and taken in account by argocd application controller. |
The Basically, the plugin config has to be place in some ConfigMap in the |
Ah yes. This sentence in the migration guide is doing a lot of work:
The migration guide is sending you back up to the top of the page to install the plugin as if you were setting up a completely new plugin. The intention was to avoid duplicating instructions. I think we need a nice big "THIS IS IMPORTANT" notification before that sentence so that folks don't skim it and miss critical steps. |
@crenshaw-dev : That means my configuration should work the way I have changed it (see above) ? |
Not quite. Placing the plugin config under that field just means it's available for a sidecar plugin to mount, not that it's actually being mounted. You'll need to follow the instructions to set up the sidecar and mount the plugin config.
Check the logs on the argocd-repo-server sidecar. That'll at least confirm that the plugin is ready to accept work. |
Thanks, I start to see it and I'm almost there. I am now getting Is discovery pattern required? How do I make it match all |
The discovery config is not required. You can specify the plugin just by name (or name-version, if your plugin config includes a version). You could also just set your discovery config to |
Installation method : manifest from https://raw.githubusercontent.com/argoproj/argo-cd/v2.8.0/manifests/install.yaml
Context : "Support dropped for argocd-cm plugins" - in upgrade notes for ArgoCD 2.7 to 2.8
Doc/guide followed : Migrating from argocd-cm plugins
I have converted this configMapGenerator file for configMap/argocd-cm :
... to this argoproj resource :
But when applying manifests :
So I have commented this resource in order to make sure that ArgoCD 2.8.0 is fully installed, including CRDs from the manifest. Then I retried. Same error.
When checking argoproj CRDs, there is no configmanagementplugin.argoproj.io resource :
It is because there is no configmanagementplugin.argoproj.io CRD in manifests/install.yaml - but only applications.argoproj.io, applicationsets.argoproj.io, and appprojects.argoproj.io :
$ curl -s https://raw.githubusercontent.com/argoproj/argo-cd/v2.8.0/manifests/install.yaml | grep -i customresourcedefinition -A5 kind: CustomResourceDefinition metadata: labels: app.kubernetes.io/name: applications.argoproj.io app.kubernetes.io/part-of: argocd name: applications.argoproj.io -- kind: CustomResourceDefinition metadata: labels: app.kubernetes.io/name: applicationsets.argoproj.io app.kubernetes.io/part-of: argocd name: applicationsets.argoproj.io -- kind: CustomResourceDefinition metadata: labels: app.kubernetes.io/name: appprojects.argoproj.io app.kubernetes.io/part-of: argocd name: appprojects.argoproj.io
I did not find the configmanagementplugin.argoproj.io CRD in this repository - I have searched in both branches v2.8.0 and master.
Where is it ?
The text was updated successfully, but these errors were encountered: