Comments (7)
I think @abtreece raises a valid improvement or feature we could add. For example, the .terragrunt
file could have an option like this:
modules = {
autoUpdate = true
}
When true, we could follow the method suggested by @brikis98 above. False would be the default, and would represent our current behavior.
from terragrunt.
Thanks for filing. This is a limitation of Terraform itself. Perhaps it can be fixed by relying on Git sha1 commit hashes and checking if they changed for each module on each run?
from terragrunt.
Perhaps... I'm going to dig into it further. My Go skills are limited at this point, but I am learning and will try to contribute.
from terragrunt.
Awesome, thanks :)
from terragrunt.
I like ^this^. There is a ref function in the Terraform module source parameter, but adding an option to the terragrunt config would be easier to use and/or an additional fail-safe.
from terragrunt.
Raising this issue from the dead. Not sure I fully understand the feature request here. Is it that Terragrunt will always check the remote to ensure that the code locally matches the code on the remote? E.g. if a module source has ref=foo-bar-branch
, and Terragrunt has already downloaded that module at that ref
, it currently will not download it again, even if a new commit has been pushed to foo-bar-branch
.
If that is indeed the feature request, then --terragrunt-source-update
is a reasonable workaround. This will ensure that the contents of the folder are deleted and will force Terragrunt to download again.
Another option is to pin the ref
to the actual Git commit sha. Any valid Git reference will work for a module source, including the branch, tag, and sha.
Recommend closing this unless I'm missing something!
from terragrunt.
The issue is for a specific use case of terragrunt, where the source modules are local path references. In this case, updates to the module source in the terraform module require a reinit
as terragrunt auto init won't kick in.
In this situation, --terragrunt-source-update
would indeed be a reasonable workaround, and should not be as painful as using a remote source reference given that it is local path copying.
I think it is reasonable to close this given the existence of --terragrunt-source-update
, and the fact that modern terragrunt is built around pulling remote references (in which case this isn't really an issue because the underlying terraform modules would not change unless you update the terraform.source
attribute in terragrunt.hcl
, and that change would trigger auto-init).
from terragrunt.
Related Issues (20)
- TF Repo Download Failure Using Https (0.55.19) HOT 3
- Generate files without provider credentials
- terragrunt-cache behavior change for nested dependencies (since v0.55.6) HOT 3
- Improve S3 errors logging
- Ability to use generate backend file dynamically in to remote_state block
- Using terragrunt scaffold with GitLab URLs HOT 10
- Dependencies block is not ordering when running run-all HOT 1
- Can't import resources whose ID is an empty string
- "No variable named dependency" when chaining dependency from parent (since v0.54.16) HOT 1
- Update Compatibility Table of Terraform Versions. HOT 4
- Declare terragrunt CLI options directly in the hcl files for each module
- Flaky `TestTerragruntParallelism` HOT 1
- Operations with json logging fail when there is a dependency with outputs HOT 2
- Checking the hash/signature of cached providers using the Terragrunt Provider Cache server
- Terragrunt cache for providers doesn't work with nested modules HOT 2
- How to structure repo without repeating terragrunt code? HOT 5
- Add CodeCommit as a source for Modules HOT 1
- Provider cache - aliased providers failure HOT 3
- The "output-module-groups" CLI command is not working on terragrunt >= "0.56.4" HOT 2
- Clearer error message when `sops_decrypt_file` fails because of missing credentials/permissions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terragrunt.