Experiment: CAS #3939
Replies: 7 comments 13 replies
-
|
How does CAS interact with parallel runs? I assume the cache is shared somehow, but what if two parallel runs want to create the same entry? How are repo tag versions handled? E.g. I might use this block for some resource: But I might use this block for some other resource: |
Beta Was this translation helpful? Give feedback.
-
|
How are SSH credentials picked up by the CAS experiment? I ask because attempting to run with
|
Beta Was this translation helpful? Give feedback.
-
|
Is this supported on Windows? Running w/ git-bash and the below terragrunt/terraform versions: Running Maybe there is more setup needed beyond just adding |
Beta Was this translation helpful? Give feedback.
-
|
Is it expected that CAS doesn't work when using https git sources instead of ssh? At my workplace, I can't easily use ssh git cloning (of private repos). For example, when we use this as the source for our vpc unit, the
But when we use this the cas folder is created:
|
Beta Was this translation helpful? Give feedback.
-
|
Is this feature expected to work with nested modules? We have a source module that then sources several other modules. I am seeing the |
Beta Was this translation helpful? Give feedback.
-
|
The You can now use the CAS wherever you clone source code with Terragrunt, and it will be on by default in Terragrunt 1.1. In addition to de-duplicating clones, it will also serve as a mechanism for improved ergonomics in catalog design. You will be able to use the You will be able to use the completed experiment in the next patch release of Terragrunt ( You are heavily encouraged to share your feedback early and often as we go through the stabilization process. We will continue to update the behavior of the CAS throughout v1 releases with new features and optimizations, but we'll look to keep the default behavior stable for the duration of v1. |
Beta Was this translation helpful? Give feedback.
-
|
Possibly a bit of an edge case, but we're seeing issues with the CAS experiment where our stacks have dynamically defined unit source paths, e.g. in a catalog stack file: unit "bar" {
source = "../../..//units/foo/bar/${try(values.parent_config_path, "") != "" ? "nested" : "top-level"}"
update_source_with_cas = true
path = "bar"
...
}Where we have two possible catalog units to choose from depending on the values provided in the calling stack ( Right now, when we try to generate our stacks with CAS enabled, $ terragrunt --experiment cas stack run plan -- -concise
WARN CAS processing failed for stack "baz": failed to process directory for CAS: failed to build synthetic tree for unit "bar": lstat /var/folders/5b/_nhq3tl95td98mjyq94d3qh40000gp/T/terragrunt-cas-stack-*584066472/repo/units/foo/bar/nestedtop-level: no such file or directory. Falling back to standard getter.The calling stack in the live repo does deploy a separate unit alongside this stack (without any nasty dynamic source refs), and that one is getting generated properly with a CAS reference in place so I can see the overall setup working, just not on this specific catalog stack. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Share your feedback on the cas experiment.
If you believe that we're ready to end the experiment, and support the feature by default, share that opinion!
Beta Was this translation helpful? Give feedback.
All reactions