in dusty/models/config.py [0:0]
def _prepare_context_config(self, config, suite):
""" Prepare context configuration, e.g.: resolve secret variables, merge config objects """
context_config = recursive_merge(config["global"], config["suites"].get(suite))
# Allow to inherit from other suite
if context_config.get("inherit_from", None) and \
config["suites"].get(context_config.get("inherit_from"), None):
context_config = recursive_merge(
config["suites"].get(context_config.get("inherit_from")), context_config
)
# Process depots and load modules
for _ in range(3):
self._load_modules(context_config)
context_config = self._process_depots(context_config)
# Load config objects
base_config = self._depot_read_config_object("__base__.yaml")
project_config = self._depot_read_config_object(
context_config["settings"].get("load_settings_from", None)
)
merge_config = self._depot_read_config_object("__merge__.yaml")
override_config = self._depot_read_config_object("__override__.yaml")
# Merge resulting config
result = base_config
result = recursive_merge(result, context_config)
result = recursive_merge(result, project_config)
result = recursive_merge_existing(result, merge_config)
result = recursive_merge(result, override_config)
# Process depots and load modules with resulting config
for _ in range(3):
self._load_modules(result)
result = self._process_depots(result)
return result