Hey everyone, I'm really lost right now! I've been troubleshooting a mysterious issue with ArgoCD and Crossplane for over a week, and I can't seem to find anyone talking about it. The problem is that ArgoCD shows my resources as both "Healthy" and "Synced", even though Crossplane is failing to provision AWS resources. I'm getting 400 errors from AWS for things like Lambda functions not updating and RDS instances stuck. Meanwhile, ArgoCD is acting like everything's perfect, and it's driving me crazy!
After digging into the health check Lua logic, I found that it processes status conditions in a way that makes it overlook errors if a healthy condition comes first. I reordered the checks to prioritize error conditions, which fixed it, but I'm baffled this isn't more widely acknowledged.
Has anyone else experienced this? Are you all just using different monitoring systems instead? Am I the only one who caught this?
6 Answers
Thanks for sharing your experience! I'm considering migrating to ArgoCD and Crossplane myself, and you've probably saved me a lot of headaches. Have you thought about officially logging a GitHub issue? It seems like others might benefit from this.
This should definitely be a bug or at least an issue raised on GitHub. Why not file a report instead of a Medium article?
Glad you found a workaround! But seriously, posting solutions on Medium behind a paywall isn't the move. It's frustrating for the community.
I agree, Medium articles can be a hassle, especially those that are member-only.
Yeah, that really doesn't help anyone who's looking for guidance.
Look, this is a bit of a misunderstanding about GitOps and ArgoCD. What you're seeing is expected behavior. ArgoCD confirms that resources are synced, which means the configs are in place. It doesn't guarantee that everything is healthy or functioning properly -- that's where actual monitoring comes into play! You might want to set up some alerting for your AWS resources instead.
Exactly! It's all about using the right tools for the right jobs. ArgoCD monitors deployment state, not runtime issues.
Right, Argo isn't a health dashboard! You should look into using tools like Grafana or Prometheus for better monitoring.
I encountered this issue ages ago. Luckily, I already knew about how Argo health checks work, so I was prepared. A lot of people might not understand that custom health checks can be necessary if default ones don’t quite fit.
Totally agree, but it feels like this isn't common knowledge among all users.
The maintainers don't seem to view it as urgent, but that's still a bummer considering how many could be affected.