It's time to reconsider recursive directory inclusion

It’s time to evolve. I can’t take this anymore. It’s absurd I need to declare a module simply to be able to organize resources into a file tree. This endless stitching together of variables and outputs… WHY? The more complex my project gets the more of a total time sink this begins to be. And the complexity that rapidly grows…

I get that this defies a fundamental design pattern put forward since day one. I get the reasoning behind that… Many hundreds of hours (probably) spent wrangling Puppet’s dependency cycles before my deliverance to Terraform indeed.

I’m not saying you are wrong, I’m just trying to understand your use case. Are you running all of your TF resources at the same time for everything you have? The two places I’ve been at, we break the TF files into different directories based on the functional need. If we need to reference resources in other directories, we either use data sources or the TF outputs which we store in consul. That helps us keep things tight and small. Execution time is also better.