Argo-cd: Non-Kubernetes/Terraform deployment strategy?

Created on 27 Feb 2019  路  6Comments  路  Source: argoproj/argo-cd

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?

wontfix

Most helpful comment

+1

All 6 comments

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

phillebaba picture phillebaba  路  23Comments

toolbar23 picture toolbar23  路  22Comments

rosscdh picture rosscdh  路  20Comments

jl431 picture jl431  路  18Comments

gregdurham picture gregdurham  路  27Comments