Hi, I’m just starting to think about automated CI/CD for my Terraspace projects and ensuring that only the minimal changes necessary are built, but I’m confused around the order that Terraspace handles dependencies. To me it seems backwards - although I’m probably missing something obvious.
For example say I have 2 stacks, A1 and B1 (to follow your examples). A1 has something = <%= output("B1.something") %>
in its tfvars. To me this means that A1 depends on B1.
So far so good, as per the documentation if I do this: terraspace up all A1
, it will correctly identify that B1 is a dependency and apply it first, which is great and one of the reasons I opted for terraspace.
However from a CI/CD point of view, I may have made a change to B1, I now want to apply that and everything that depends on B1. If I do terraspace up all B1
then only B1 is applied. For me I’d like to apply everything that depends on B1 (ideally each level is only applied if and only if the parent has changed) which minimises the number of stacks that need to be applied. Currently if I apply A1 for example terraspace will attempt to apply B1, etc even if those stacks haven’t changed.
I’d be interested to hear your thoughts?