🚀 Enhancements
Update stacks processor @aknysh (#59)
what
- Update stacks processor
why
- Correctly handle the case when the provided stack name matches not only a top-level YAML config file, but also a file in the (excluded) catalog (it was finding the matching catalog file (by the suffix) and then throwing the error that the stack does not exist). Now it correctly excludes all the paths defined in
excluded_paths
CLI config. In the stack config in the image below,atmos terraform plan test/test-component-override -s=tenant1-ue2-dev
correctly excludes the filetenant1-ue2-dev.yaml
in the catalog and only finds the filetenant1/ue2/dev.yaml
as the top-level stack
- Process all imports in the order they are defined. Don't process imports concurrently in gorotines since the behaviour is not deterministic (whatever gorotine finishes last, the result of its import processing will be used as the final result in deep-merging). Using concurrent execution with gorotines makes it marginally (not noticeable) faster, but makes the final deep-merged result unpredictable. Now these imports
import:
- globals/tenant1-globals
- globals/ue2-globals
- catalog/terraform/top-level-component1
- catalog/terraform/test-component
- catalog/terraform/test-component-override
- catalog/terraform/vpc
- catalog/terraform/tenant1-ue2-dev
vars:
stage: dev
are processed in the same order as they are defined, and the final result for a variable is always taken from the last import catalog/terraform/tenant1-ue2-dev