I believe quite some of us prefer to use native cloud services given their availability. For example, rather than maintaining PG ourselves using K8s, some prefer to use Google Cloud SQL or AWS RDS.
For such cases, the typical deployment strategy is using Terraform (although I hope in future it can also be defined in Kubernetes YAML, e.g. rds-deployment-and-service.yaml).
In the cases where we have a mix of Kubernetes YAMLs and Terraform configs, how is the recommended way in ArgoCD? Can ArgoCD apply Terraform config? Or should ArgoCD manage Kubernetes YAML only? If they are meant to be separated, how should we structure our GitOps project?
I would consider using Terraform operator. In this case, Argo CD can be used to push CRD with the terraform script and terraform CRD controller would execute the script and update CRD status with the results.
Here are several implementations of terraform operators:
https://github.com/danisla/terraform-operator
https://github.com/rancher/terraform-operator
Seems like OperatorHub is the answer to this?
There is few AWS infra that can be created from K8s manifests:
https://www.operatorhub.io/operator/aws-service-operator.v0.0.1
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Any update?
+1
+1
Most helpful comment
+1