Multi-Cloud (AWS, Azure and GCP) IaC with Terraform empowered with Terragrunt
![Build Status](https://camo.githubusercontent.com/4dd7406e6e89256dfc4d4aa8993eefa8df76441aa6f34588ba86c527eaa1658a/68747470733a2f2f7472617669732d63692e636f6d2f446f766e6172416c6578616e6465722f6d75746c69636c6f75642d7465727261666f726d2d64656d6f2d74657272616772756e742e7376673f746f6b656e3d6436694559416a6764784d65384d6b3443655241266272616e63683d6d6173746572)
![Image](https://raw.githubusercontent.com/dlomov/mutlicloud-terraform-demo-terragrunt/master/img/demo.png)
- AWS Account and generated programmatic credentials.
- GCP Account and generated programmatic credentials.
- Azure Account and generated programmatic credentials.
- CloudFlare account, domain and generated API Token.
- Export all programmatic credentials for all clouds \ systems to your environment.
- Install dependencies with python pip:
pip install -r requirements.txt
Generate \ update the target environment
- New environment creation
- Existing environment update
ENV=preprod
cookiecutter .generator/ -f --config-file $ENV/.cookiecutter.yaml
Apply core stack (or any other)
ENV=preprod
cd $ENV/core
terragrunt init
terragrunt apply
ENV=preprod
cd $ENV
terragrunt plan-all
terragrunt apply-all
fqdn=terraform-multicloud-demo-$ENV.dovnar-alexander.xyz
.data/check.sh $fqdn
Apply all stacks with Core
ENV=preprod
cd $ENV
terragrunt destroy-all