terragruntArchived
3 messages
Terragrunt discussions
Archive: https://archive.sweetops.com/terragrunt/
muhahaabout 4 years ago
Is possible to predownload provider ( not in tf registry ) from github and install it before terraform invocation ? Thanks
Frankabout 4 years ago
Hi! Is there anyone here who is running terragrunt inside CI/CD pipelines? If so, how are you dealing with things like dependencies?
Maxime Thébaultabout 4 years ago
Hi there!
We're considering some refactoring on our terraform repo and I would have loved some feedback/insight from you before making any decision.
Currently, our file structure looks like this:
In this example, the appA module defines all the AWS resources needed for the app, and accepts a few input variables for the things that should change between the dev and the prod environment (e.g. instance types).
Files in the "live" folder are really lightweight, whereas modules can get bigger in size depending on the application complexity.
We plan to host all of this in a menorepo.
We plan to use Atlantis + terragrunt-atlantis-config for the CI/CD part.
Now, here are some of my questions:
1. Does this design scale well?
2. Reading online documentation, it seems like everyone agrees module versioning is a best-practice. So that would mean I should version the appA module and use explicit version in the "live" folder, instead of just
3. I read about terraform-related testing: module unit testing with tools such as terratest, and more serious testing through infrastructure promotion to production. In your experience, is all of this really necessary? Isn't a simple look at the plan enough to decide if the changes are OK?
4. Do you guys stick to just using a master branch with MR for changes, or do you use more than one branch? If so, what for?
I would be particularly interested in hearing your thoughts on all of this @David, I've carefully read your Transcend blog post and your feedbacks on this Slack, but there are still things I'm uncertain about. I'm fine with concise answers, unlike what it seems like with this long message :D
Thanks!
We're considering some refactoring on our terraform repo and I would have loved some feedback/insight from you before making any decision.
Currently, our file structure looks like this:
terraform
├── live
│ ├── terragrunt.hcl
│ └── aws_account_name
│ ├── account.hcl
│ └── eu-west-1
│ ├── region.hcl
│ ├── prod
│ │ ├── env.hcl
│ │ └── appA
│ │ └── terragrunt.hcl
│ └── dev
│ ├── env.hcl
│ └── appA
│ └── terragrunt.hcl
└── modules
└── appA
├── ec2.tf
└── route53.tfIn this example, the appA module defines all the AWS resources needed for the app, and accepts a few input variables for the things that should change between the dev and the prod environment (e.g. instance types).
Files in the "live" folder are really lightweight, whereas modules can get bigger in size depending on the application complexity.
We plan to host all of this in a menorepo.
We plan to use Atlantis + terragrunt-atlantis-config for the CI/CD part.
Now, here are some of my questions:
1. Does this design scale well?
2. Reading online documentation, it seems like everyone agrees module versioning is a best-practice. So that would mean I should version the appA module and use explicit version in the "live" folder, instead of just
terraform { source = "../../../../../..//modules/appA" }. To me, it feels like something that would be extremely painful, even more so in a monorepo context. What's your take on this?3. I read about terraform-related testing: module unit testing with tools such as terratest, and more serious testing through infrastructure promotion to production. In your experience, is all of this really necessary? Isn't a simple look at the plan enough to decide if the changes are OK?
4. Do you guys stick to just using a master branch with MR for changes, or do you use more than one branch? If so, what for?
I would be particularly interested in hearing your thoughts on all of this @David, I've carefully read your Transcend blog post and your feedbacks on this Slack, but there are still things I'm uncertain about. I'm fine with concise answers, unlike what it seems like with this long message :D
Thanks!