Crossplane allows engineers to write Kubernetes controllers without writing controllers (eg: via YAML). Most of the time it works well, but sometimes custom Golang is required so teams can implement a custom provider, which is what controls resources (eg: an instance of a bucket).
It is very similar to Kubernetes controllers development using kubebuilder, but different in many ways. I wrote all my learnings into this blog post which hopefully clarifies how they work, how to implement one and good practices around it.
Crossplane allows engineers to write Kubernetes controllers without writing controllers (eg: via YAML). Most of the time it works well, but sometimes custom Golang is required so teams can implement a custom provider, which is what controls resources (eg: an instance of a bucket).
It is very similar to Kubernetes controllers development using kubebuilder, but different in many ways. I wrote all my learnings into this blog post which hopefully clarifies how they work, how to implement one and good practices around it.