-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
terragrunt: removing terraform dependency #103670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Since terragrunt would trigger downloading all the plugins and basing on terraform 0.12 branch whereas people could use it against 0.11 or 0.13 terraform.
❯ nixpkgs-review pr 103670
[nix-shell:~/Sources/*/s3]$ terragrunt init
...
Initializing the backend...
Initializing provider plugins...
- terraform.io/builtin/terraform is built in to Terraform
- Finding hashicorp/aws versions matching "~> 2.25"...
- Installing hashicorp/aws v2.65.0...
- Installed hashicorp/aws v2.65.0 (unauthenticated)
Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
[nix-shell:~/Sources/*/s3]$ cat terragrunt.hcl
include {
path = find_in_parent_folders()
}
dependencies {
paths = ["../iam"]
} |
I agree with your frustrations, I patch my terragrunt to use normal terraform and I've seen several posts on here and the Discourse. For a while I've been trying to set up a As a note for future packages or changes you should be targeting Although since this is a breaking change for some users this will need to be done carefully and might need to be be merged into |
@06kellyjac thanks for your input. i've changed target branch to ideally what we would need: to have terraform packaged (whatever version along side terragrunt), as terragrunt obviously useless without terraform, but me being still novice in nixos pushed this change to at least make things simpler, before making them more complex. and we would probably need to control providers download only in a terraform wrapper. |
Makes sense. Terraform can be sourced from the path and it gives more flexibility to the user. |
@zimbatm thanks. |
Since terragrunt would trigger downloading all the plugins and basing on terraform 0.12 branch whereas people could use it against 0.11 or 0.13 terraform. (cherry picked from commit 45ed0b7)
Since terragrunt would trigger downloading all the plugins and basing on terraform 0.12 branch whereas people could use it against 0.11 or 0.13 terraform. (cherry picked from commit 45ed0b7) Co-authored-by: sevenfourk <sevenfourk@protonmail.ch>
Since terragrunt would trigger downloading all the plugins and basing on terraform 0.12 branch whereas people could use it against 0.11 or 0.13 terraform.
fixes #103631
Motivation for this change
it is very frustrating when you download a statically linked binary and a vast amount of software is downloaded with it. i understand that from a user perspective it might be convenient and make sense to have terraform (not sure though about ALL the providers) along side it.
but terragrunt itself is very niche software, and people would want to have different terraform versions with it.
PS: i'm new to NixOS, and to that packaging as well. i could miss some things, please correct me where applicable, thanks.
i've used to use tgenv/tfenv myself, but downloading providers every time in
.terraform
directory within your code is a nightmare. NixOS packaging did it very cool i must say with linking provider binaries to.terraform/plugins
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)