Open ryanemerson opened 2 months ago
A challenge with Crossplane is how to manage cloud state that is relied upon by a deployment that exists on multiple K8s clusters, e.g. Aurora clusters for Active/Passive deployments.
It seems like many people solve this problem by having a dedicated K8s cluster that acts as a control-plane for all other K8 clusters. This seems overkill for our needs.
An alternative solution is to deploy resources on Site A with Crossplane CRs and then utilise Observe Only Resources on Site B to allow retrieval of resource config and state.
Description
Crossplane allows users to provision cloud infrastructure using K8s CRDs. We can greatly simplify our current Taskfiles by replacing the various AWS bash scripts with a Helm based solution that deploys Crossplane CRs.
As Crossplane requires a K8s cluster to exist, the provisioning of ROSA clusters will continue to be OpenTofu based.
Discussion
Pros
Cons
Alternatives
Terraform/OpenTofu could also be used for this purpose, however there are drawbacks to such an approach: