Improve imports and deep-merging of variables of any complex types @aknysh (#13)
what
- Improve imports and deep-merging of variables of any complex types
- Use the latest
variant2
features (recursive user-defined functions, list of file paths inconfig
) for stack configuration module
why
- Simplify code
- Deep-merge any number of import files with any complex structures (maps/objects)
- Deep-merge all variables in this order: global-scoped, component-type-scoped, and component-scoped
- Deep-merge all backend attributes in this order: global-scoped, component-type-scoped, and component-scoped
references
test
✗ . example ⨠ atmos stack config eks -s ue2-dev --config-type=vars
"cluster_kubernetes_version": "1.18"
"environment": "ue2"
"namespace": "eg"
"region": "us-east-2"
"stage": "dev"
"test-map":
"a": "a4"
"atr":
"atr1": "1-1"
"atr2": "2-4"
"atr3": 3
"atr4": 4
"atr5": 5
"list":
- "1c"
"atr-2":
"atr1": 1
"atr2": 2
"b": "b2"
"c": "c1"
"d": "d4"
"e": "e4"
"f": "f4"
"g": "g1"
"list":
- 4
- 5
- 6
"list2":
- 1
- 2
- 3