diff --git a/src/risotto/config.py b/src/risotto/config.py index a78ac41..b87ba81 100644 --- a/src/risotto/config.py +++ b/src/risotto/config.py @@ -111,6 +111,18 @@ if 'PASSWORD_URL' in environ: PASSWORD_URL = environ['PASSWORD_URL'] else: PASSWORD_URL = config.get('PASSWORD_URL', 'https://localhost:8001/') +if 'PKI_ADMIN_PASSWORD' in environ: + PKI_ADMIN_PASSWORD = environ['PKI_ADMIN_PASSWORD'] +else: + PKI_ADMIN_PASSWORD = config['PKI_ADMIN_PASSWORD'] +if 'PKI_ADMIN_EMAIL' in environ: + PKI_ADMIN_EMAIL = environ['PKI_ADMIN_EMAIL'] +else: + PKI_ADMIN_EMAIL = config['PKI_ADMIN_EMAIL'] +if 'PKI_URL' in environ: + PKI_URL = environ['PKI_URL'] +else: + PKI_URL = config.get('PKI_URL', 'http://localhost:8002') def dsn_factory(database, user, password, address=DB_ADDRESS): @@ -139,6 +151,10 @@ _config = {'database': {'dsn': dsn_factory(RISOTTO_DB_NAME, RISOTTO_DB_USER, RIS 'device_identifier': PASSWORD_DEVICE_IDENTIFIER, 'service_url': PASSWORD_URL, }, + 'pki': {'admin_password': PKI_ADMIN_PASSWORD, + 'owner': PKI_ADMIN_EMAIL, + 'url': PKI_URL, + }, 'cache': {'root_path': CACHE_ROOT_PATH}, 'servermodel': {'internal_source_path': SRV_SEED_PATH, 'internal_source': 'internal'}, diff --git a/src/risotto/dispatcher.py b/src/risotto/dispatcher.py index 7ae34e1..531b201 100644 --- a/src/risotto/dispatcher.py +++ b/src/risotto/dispatcher.py @@ -407,7 +407,7 @@ class Dispatcher(register.RegisterDispatcher, kw[key] = value kw['risotto_context'] = risotto_context - returns = await function(self.injected_self[function_obj['module']], **kw) + returns = await function(self.get_service(function_obj['module']), **kw) if risotto_context.type == 'rpc': # valid returns await self.valid_call_returns(risotto_context, diff --git a/src/risotto/register.py b/src/risotto/register.py index 90b5023..672ea39 100644 --- a/src/risotto/register.py +++ b/src/risotto/register.py @@ -23,7 +23,7 @@ class Services(): def load_services(self): for entry_point in iter_entry_points(group='risotto_services'): - self.services.setdefault(entry_point.name, []) + self.services.setdefault(entry_point.name, {}) self.services_loaded = True def load_modules(self, @@ -32,21 +32,20 @@ class Services(): for entry_point in iter_entry_points(group='risotto_modules'): service_name, module_name = entry_point.name.split('.') if limit_services is None or service_name in limit_services: - setattr(self, module_name, entry_point.load()) - self.services[service_name].append(module_name) + self.services[service_name][module_name] = entry_point.load() self.modules_loaded = True - - def get_services(self): - if not self.services_loaded: - self.load_services() - return [(s, getattr(self, s)) for s in self.services] +# +# def get_services(self): +# if not self.services_loaded: +# self.load_services() +# return [(service, getattr(self, service)) for service in self.services] def get_modules(self, limit_services: Optional[List[str]]=None, ) -> List[str]: if not self.modules_loaded: self.load_modules(limit_services=limit_services) - return [(module + '.' + submodule, getattr(self, submodule)) for module, submodules in self.services.items() for submodule in submodules] + return [(module + '.' + submodule, entry_point) for module, submodules in self.services.items() for submodule, entry_point in submodules.items()] def get_services_list(self): return self.services.keys() diff --git a/tests/test_config.py b/tests/test_config.py index 1105616..a2edeb7 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -392,7 +392,6 @@ async def test_server_created_base(): release_distribution='last', site_name='site_1', zones_name=['zones'], - zones_ip=['1.1.1.1'], ) assert list(config_module.server) == [server_name] assert set(config_module.server[server_name]) == {'server', 'server_to_deploy', 'funcs_file'} @@ -420,7 +419,6 @@ async def test_server_created_own_sm(): release_distribution='last', site_name='site_1', zones_name=['zones'], - zones_ip=['1.1.1.1'], ) assert list(config_module.server) == [server_name] assert set(config_module.server[server_name]) == {'server', 'server_to_deploy', 'funcs_file'} @@ -469,7 +467,6 @@ async def test_server_configuration_get(): release_distribution='last', site_name='site_1', zones_name=['zones'], - zones_ip=['1.1.1.1'], ) # await config_module.server[server_name]['server'].property.read_write() @@ -515,7 +512,6 @@ async def test_server_configuration_deployed(): release_distribution='last', site_name='site_1', zones_name=['zones'], - zones_ip=['1.1.1.1'], ) # await config_module.server[server_name]['server'].property.read_write()