gruntwork-io / terragrunt

Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.
https://terragrunt.gruntwork.io/
MIT License
8.09k stars 981 forks source link

Detected generate blocks with the same name, importing unused hcl files from central respository. #3444

Closed adamhealthhero closed 1 month ago

adamhealthhero commented 1 month ago

Describe the bug

Recently attempting a significant upgrade from 0.46.3 to 0.67.13. My code is now outputting the following errors:

15:59:07.820 ERROR  Detected generate blocks with the same name: [reqprovider]
15:59:07.820 ERROR  Unable to determine underlying exit code, so Terragrunt will exit with error code 1

My file system involves a git submodule with master hcl files for multiple internal clients.

Projectroot
|-- terragrunt.hcl (symlink to ./terragrunt/<client>.hcl
|-- Code1 folder   - terragrunt run from this folder
|----terragrunt.hcl   (refer to parent)

|-- Terragrunt folder
|---- Client1.hcl
|---- Client2.hcl

Since there are several dozen projects, we centrally managed our terragrunt.hcl files and because our internal clients are a mix of cloud providers their hcl files are different.

Because this is a submodule, all those hcl files are checked out everytime, to make it simpler on the ci/cd systems the generated files are the same (providers.tf, backend.tf etc..). The symlink provides us with the correct hcl to be used.

Steps To Reproduce

Place a hcl file that would never be used in a sub directory that is not called during a terraform operation.

Expected behavior

hcl files not referenced shouldn't lead to an error.

Versions

adamhealthhero commented 1 month ago

issue isn't as described