terragruntArchived
20 messages
Terragrunt discussions
Archive: https://archive.sweetops.com/terragrunt/
Davidalmost 6 years ago
Just a heads up for anyone else making use or considering usage of
Issue originally pointing out a concern with the function: https://github.com/gruntwork-io/terragrunt/issues/1107
Follow up issue from a maintainer pointing out that the issue is very complicated to fix: https://github.com/gruntwork-io/terragrunt/issues/1128
Issue where a maintainer recommends against using the function at the moment: https://github.com/gruntwork-io/terragrunt/issues/303
I've hit some nastly bugs with it that are particularly hard to debug, so this is just a friendly suggestion that you all consider those issues before deciding to make use of it
read_terragrunt_config, the function is unfortunately in a bad state.Issue originally pointing out a concern with the function: https://github.com/gruntwork-io/terragrunt/issues/1107
Follow up issue from a maintainer pointing out that the issue is very complicated to fix: https://github.com/gruntwork-io/terragrunt/issues/1128
Issue where a maintainer recommends against using the function at the moment: https://github.com/gruntwork-io/terragrunt/issues/303
I've hit some nastly bugs with it that are particularly hard to debug, so this is just a friendly suggestion that you all consider those issues before deciding to make use of it
joshmyersalmost 6 years ago
How many levels of dirs are folks ending up with given example Terragrunt repo? Does this put people off?
joshmyersalmost 6 years ago
my dev environment alone has 32 dirs….not sure how I feel about it….
joshmyersalmost 6 years ago
test/dev
├── env.hcl
├── eu-central-1
│ ├── account-service
│ │ └── terragrunt.hcl
│ ├── compliance-service
│ │ └── terragrunt.hcl
│ ├── device-service
│ │ └── terragrunt.hcl
│ ├── graph-service
│ │ └── terragrunt.hcl
│ ├── idp-service
│ │ └── terragrunt.hcl
│ ├── profile-service
│ │ └── terragrunt.hcl
│ ├── region.hcl
│ └── resource-service
│ └── terragrunt.hcl
├── eu-west-1
│ ├── account-service
│ │ └── terragrunt.hcl
│ ├── compliance-service
│ │ └── terragrunt.hcl
│ ├── device-service
│ │ └── terragrunt.hcl
│ ├── graph-service
│ │ └── terragrunt.hcl
│ ├── idp-service
│ │ └── terragrunt.hcl
│ ├── profile-service
│ │ └── terragrunt.hcl
│ ├── region.hcl
│ └── resource-service
│ └── terragrunt.hcl
├── us-east-1
│ ├── account-service
│ │ └── terragrunt.hcl
│ ├── compliance-service
│ │ └── terragrunt.hcl
│ ├── device-service
│ │ └── terragrunt.hcl
│ ├── graph-service
│ │ └── terragrunt.hcl
│ ├── idp-service
│ │ └── terragrunt.hcl
│ ├── profile-service
│ │ └── terragrunt.hcl
│ ├── region.hcl
│ └── resource-service
│ └── terragrunt.hcl
└── us-west-2
├── account-service
│ └── terragrunt.hcl
├── compliance-service
│ └── terragrunt.hcl
├── device-service
│ └── terragrunt.hcl
├── graph-service
│ └── terragrunt.hcl
├── idp-service
│ └── terragrunt.hcl
├── profile-service
│ └── terragrunt.hcl
├── region.hcl
└── resource-service
└── terragrunt.hcl
32 directories, 33 filesjoshmyersalmost 6 years ago
Maybe @antonbabenko or others have thoughts as heavy Terragrunt users?
Davidalmost 6 years ago
At my company we have hundreds of modules per env 🤷♂️
It became 1000% more manageable for us once we got into a good CI/CD flow with atlantis. So now the flow is:
• Make changes to the underlying modules
• Run terragrunt-atlantis-config to generate atlantis config for our dependency graph
• Open a PR
• Atlantis plans everything that needs to be changed
• Approve PR, apply all the plans with one command
Sometimes those PRs can affect dozens of modules (especially because we do releases with
It became 1000% more manageable for us once we got into a good CI/CD flow with atlantis. So now the flow is:
• Make changes to the underlying modules
• Run terragrunt-atlantis-config to generate atlantis config for our dependency graph
• Open a PR
• Atlantis plans everything that needs to be changed
• Approve PR, apply all the plans with one command
Sometimes those PRs can affect dozens of modules (especially because we do releases with
staging and prod branches), but that's no problem because it's so easy to apply everythingjoshmyersalmost 6 years ago
@David Thanks for the reply. Yes we do the same but the Atlantis workflow isn’t perfect (mainly saying that based off Atlantis triggers but totally depends how you have laid out the repo) - but still not sure how I feel about all these dirs…
lorenalmost 6 years ago
the gruntwork folks seem open to an alternative that maps it out in a single file, if you'd prefer a flatter approach. i think they were looking for help with that pr
joshmyersalmost 6 years ago
Hmm, maybe, not sure if that approach will play nicely with something like Atlantis though…
joshmyersalmost 6 years ago
staging
└── terragrunt.hcl
production
└── terragrunt.hcljoshmyersalmost 6 years ago
Won’t work very well, a change to staging/terragrunt.hcl and Atlantis builds every staging project?
joshmyersalmost 6 years ago
staging
├── production
│ ├── apps.hcl
│ ├── data-stores.hcl
│ └── networking.hcl
└── staging
├── apps.hcl
├── data-stores.hcl
└── networking.hcljoshmyersalmost 6 years ago
could work…
lorenalmost 6 years ago
Comment on the issue! 😁 I don't think they're looking at custom hcl filenames...
lorenalmost 6 years ago
apps/terragrunt.hcl, etc, might work...joshmyersalmost 6 years ago
The whole thing sounds very up in the air…
joshmyersalmost 6 years ago
Argh.
joshmyersalmost 6 years ago
Why is software so hard? 🙂
lorenalmost 6 years ago
Lololol, anything software that is or looks easy has had some absolutely masterful designers and developers