The behavior I saw is if a user deletes a Cluster in the ArgoCD server that was managed by provider-argocd, the Cluster fails to be recreated, and stays in the state synced: false. Specifically, the error shown is
Warning CannotObserveExternalResource 2m12s (x376 over 3d7h) managed/cluster cannot get Argocd Cluster: rpc error: code = PermissionDenied desc = permission denied
Instead of throwing an error, I would expect the Cluster to be recreated.
How can we reproduce it?
Not sure exactly what the breaking version is just looking at release notes. We went 2.7.7 -> 2.9.1, so you can try with ArgoCD 2.9.1. Also note that we're using the latest build of the provider; xpkg.upbound.io/crossplane-contrib/provider-argocd:v0.5.0-rc.0.2.gf446591 that came following this PR https://github.com/crossplane-contrib/provider-argocd/pull/101/files, which could be related.
To go through our setup, first we added a user in our ArgoCD RBAC with the following permissions:
Now manually delete the Cluster from the ArgoCD API, and it doesn't come back up.
As added context, I tried running something like argocd cluster get doesntexist --server <server> with both the user's token and admin creds, and got the error FATA[0000] rpc error: code = PermissionDenied desc = permission denied. I expected the error "Cluster Not Found"
What environment did it happen in?
Crossplane version:v1.13.2-up.2
Crossplane Provider argocd version: xpkg.upbound.io/crossplane-contrib/provider-argocd:v0.5.0-rc.0.2.gf446591
Kubernetes client 1.25.3, Server 1.26.10, on an Upbound Managed Control Plane; ArgoCD running in EKS, running helm release 5.51.2.
What happened?
First off, I have seen that the provider is configured to use ArgoCD v2.8.4 https://github.com/crossplane-contrib/provider-argocd/blob/00b9ad6eb4f625d478351d2bc7d96d588e0ea7c7/go.mod#L6 However, there was some unexpected behavior with 2.9.1 that will need to be addressed eventually, so I'm bringing up this issue now.
The behavior I saw is if a user deletes a Cluster in the ArgoCD server that was managed by provider-argocd, the Cluster fails to be recreated, and stays in the state
synced: false
. Specifically, the error shown isIn the controller logs, I see
Instead of throwing an error, I would expect the Cluster to be recreated.
How can we reproduce it?
Not sure exactly what the breaking version is just looking at release notes. We went 2.7.7 -> 2.9.1, so you can try with ArgoCD 2.9.1. Also note that we're using the latest build of the provider;
xpkg.upbound.io/crossplane-contrib/provider-argocd:v0.5.0-rc.0.2.gf446591
that came following this PR https://github.com/crossplane-contrib/provider-argocd/pull/101/files, which could be related.To go through our setup, first we added a user in our ArgoCD RBAC with the following permissions:
Then ran the following commands:
We then used this token to create a secret and referenced it in a provider config called
argocd
.Now using some test cluster, referenced below as 'test-cluster', add the following Cluster
Create a Cluster managed resource:
Now manually delete the Cluster from the ArgoCD API, and it doesn't come back up.
As added context, I tried running something like
argocd cluster get doesntexist --server <server>
with both the user's token and admin creds, and got the errorFATA[0000] rpc error: code = PermissionDenied desc = permission denied
. I expected the error "Cluster Not Found"What environment did it happen in?
Crossplane version:v1.13.2-up.2 Crossplane Provider argocd version: xpkg.upbound.io/crossplane-contrib/provider-argocd:v0.5.0-rc.0.2.gf446591 Kubernetes client 1.25.3, Server 1.26.10, on an Upbound Managed Control Plane; ArgoCD running in EKS, running helm release 5.51.2.