Ask HN: Have you switched from Terraform to Crossplane?
https://news.ycombinator.com/item?id=34350844I've seen how nasty a Terraform codebase can get at scale if you don't write good data-driven code. Module sprawl, state sprawl, drift. Even though I have found a nice data-driven approach that gets around many of it's problems, the Terraform DSL still has a few surprising "oofs" that get in my way (I'm talking specifically about features that don't work with `for_each`, like passing provider configs to modules, or lack of resource level dependency detection which throws dependency cycle errors where there are no cycles). Worse, some of these core terraform issues don't seem to get much attention, and the project maintainers have occasionally hinted that they don't have many development resources. All that said, I like Terraform. I'm just being honest about the gnarly side of using it at scale.
I like the idea of Crossplane (a reconciliation loop that keeps state correct, handling dependencies through retries). It's not gitops, but could be if you add ArgoCD or FluxCD. But doesn't Terraform + Atlantis give you somewhat the same. Why switch?
I have no idea what problems I will encounter at the same scale that I've been using Terraform. The demos and examples I've seen are simple day one problems that only show is benefits.
So: Have you gone all-in on Crossplane, built lots of configurations and composite resources etc? If so, what are it's real world issues?