def _depot_read_config_object(self, obj): result = dict() if obj is None: return result data = depots.get_object(self.context, obj) if data is None: return result try: self.context.set_meta("depots_resolved_secrets", 0) result = self._depot_substitution( self._variable_substitution( yaml.load( os.path.expandvars(data), Loader=yaml.FullLoader ) ) ) log.info("Loaded %s from depots", obj) log.debug( "Resolved %d object secrets from depots", self.context.get_meta("depots_resolved_secrets", 0) ) return result except: return result
def _load_modules(self, context_config): modules_to_load = list() for item in [ value for key, value in context_config["settings"].items() if \ key.startswith("load_module_from") or key.startswith("load_modules_from") ]: if isinstance(item, list): modules_to_load.extend(item) else: modules_to_load.append(item) for module_name in modules_to_load: if module_name in self.context.modules: continue # Module is already loaded during first iteration module_object = depots.get_object(self.context, module_name) if module_object is not None: sys.meta_path.insert(0, DataModuleLoader(module_object)) self.context.modules.append(module_name) log.info("Loaded module from %s", module_name)