Compare commits

...

7 Commits

11 changed files with 34 additions and 16 deletions

10
debian/control vendored
View File

@ -2,13 +2,19 @@ Source: risotto
Section: admin Section: admin
Priority: extra Priority: extra
Maintainer: Cadoles <contact@cadoles.com> Maintainer: Cadoles <contact@cadoles.com>
Build-depends: debhelper (>=11), python3-all, python3-setuptools Build-depends: debhelper (>=11), python3-all, python3-setuptools, dh-python
Standards-Version: 3.9.4 Standards-Version: 3.9.4
Homepage: https://forge.cadoles.com/Infra/risotto Homepage: https://forge.cadoles.com/Infra/risotto
Package: python3-risotto
Architecture: any
Pre-Depends: dpkg, python3, ${misc:Pre-Depends}
Depends: ${python:Depends}, ${misc:Depends}, python3-asyncpg
Description: configuration manager libraries
Package: risotto Package: risotto
Architecture: any Architecture: any
Pre-Depends: dpkg, python3, ${misc:Pre-Depends} Pre-Depends: dpkg, python3, ${misc:Pre-Depends}
Depends: ${python:Depends}, ${misc:Depends} Depends: ${python:Depends}, ${misc:Depends}, python3-asyncpg
Description: configuration manager Description: configuration manager

1
debian/risotto.install vendored Normal file
View File

@ -0,0 +1 @@
script/risotto-server usr/bin/

0
script/risotto-server Normal file → Executable file
View File

View File

@ -4,6 +4,5 @@ setup(
name='risotto', name='risotto',
version='0.1', version='0.1',
packages=['risotto' ], packages=['risotto' ],
scripts=['script/risotto-server'],
package_dir={"": "src"}, package_dir={"": "src"},
) )

View File

@ -15,7 +15,6 @@ DB_ADDRESS = environ.get('DB_ADDRESS', 'localhost')
MESSAGE_PATH = environ.get('MESSAGE_PATH', '/root/risotto-message/messages') MESSAGE_PATH = environ.get('MESSAGE_PATH', '/root/risotto-message/messages')
SQL_DIR = environ.get('SQL_DIR', './sql') SQL_DIR = environ.get('SQL_DIR', './sql')
CACHE_ROOT_PATH = environ.get('CACHE_ROOT_PATH', '/var/cache/risotto') CACHE_ROOT_PATH = environ.get('CACHE_ROOT_PATH', '/var/cache/risotto')
SRV_SEED_PATH = environ.get('SRV_SEED_PATH', '/srv/seed')
def dsn_factory(database, user, password, address=DB_ADDRESS): def dsn_factory(database, user, password, address=DB_ADDRESS):
@ -36,7 +35,6 @@ def get_config():
'check_role': True, 'check_role': True,
'admin_user': DEFAULT_USER, 'admin_user': DEFAULT_USER,
'sql_dir': SQL_DIR}, 'sql_dir': SQL_DIR},
'source': {'root_path': SRV_SEED_PATH},
'cache': {'root_path': CACHE_ROOT_PATH}, 'cache': {'root_path': CACHE_ROOT_PATH},
'servermodel': {'internal_source': 'internal', 'servermodel': {'internal_source': 'internal',
'internal_distribution': 'last', 'internal_distribution': 'last',

View File

@ -24,7 +24,7 @@ class Controller:
if args: if args:
raise ValueError(_(f'the URI "{uri}" can only be called with keyword arguments')) raise ValueError(_(f'the URI "{uri}" can only be called with keyword arguments'))
if module not in self.risotto_modules: if module not in self.risotto_modules:
return await remote.remove_call(module, return await remote.remote_call(module,
version, version,
message, message,
kwargs) kwargs)
@ -44,7 +44,7 @@ class Controller:
if args: if args:
raise ValueError(_(f'the URI "{uri}" can only be published with keyword arguments')) raise ValueError(_(f'the URI "{uri}" can only be published with keyword arguments'))
if module not in self.risotto_modules: if module not in self.risotto_modules:
await remote.remove_call(module, await remote.remote_call(module,
version, version,
submessage, submessage,
kwargs) kwargs)

View File

@ -1,4 +1,7 @@
from tiramisu import Config try:
from tiramisu3 import Config
except:
from tiramisu import Config
from traceback import print_exc from traceback import print_exc
from copy import copy from copy import copy
from typing import Dict, Callable, List, Optional from typing import Dict, Callable, List, Optional
@ -10,7 +13,7 @@ from .logger import log
from .config import get_config from .config import get_config
from .context import Context from .context import Context
from . import register from . import register
from .remote import Remote #from .remote import Remote
import asyncpg import asyncpg
@ -183,7 +186,7 @@ class PublishDispatcher:
class Dispatcher(register.RegisterDispatcher, class Dispatcher(register.RegisterDispatcher,
Remote, # Remote,
CallDispatcher, CallDispatcher,
PublishDispatcher): PublishDispatcher):
""" Manage message (call or publish) """ Manage message (call or publish)

View File

@ -1,7 +1,10 @@
from aiohttp.web import Application, Response, get, post, HTTPBadRequest, HTTPInternalServerError, HTTPNotFound from aiohttp.web import Application, Response, get, post, HTTPBadRequest, HTTPInternalServerError, HTTPNotFound
from json import dumps from json import dumps
from traceback import print_exc from traceback import print_exc
from tiramisu import Config, default_storage try:
from tiramisu3 import Config, default_storage
except:
from tiramisu import Config, default_storage
from .dispatcher import dispatcher from .dispatcher import dispatcher

View File

@ -2,9 +2,14 @@ from os import listdir
from os.path import join, basename, dirname, isfile from os.path import join, basename, dirname, isfile
from glob import glob from glob import glob
from gettext import translation from gettext import translation
from tiramisu import StrOption, IntOption, BoolOption, ChoiceOption, OptionDescription, SymLinkOption, FloatOption, \ try:
Calculation, Params, ParamOption, ParamValue, calc_value, calc_value_property_help, \ from tiramisu3 import StrOption, IntOption, BoolOption, ChoiceOption, OptionDescription, \
groups, Option SymLinkOption, FloatOption, Calculation, Params, ParamOption, \
ParamValue, calc_value, calc_value_property_help, groups, Option
except:
from tiramisu import StrOption, IntOption, BoolOption, ChoiceOption, OptionDescription, \
SymLinkOption, FloatOption, Calculation, Params, ParamOption, \
ParamValue, calc_value, calc_value_property_help, groups, Option
from yaml import load, SafeLoader from yaml import load, SafeLoader

View File

@ -1,4 +1,7 @@
from tiramisu import Config try:
from tiramisu3 import Config
except:
from tiramisu import Config
from inspect import signature from inspect import signature
from typing import Callable, Optional from typing import Callable, Optional
import asyncpg import asyncpg

View File

@ -31,7 +31,7 @@ class Remote:
self.submodules[module] = json self.submodules[module] = json
return Config(self.submodules[module]) return Config(self.submodules[module])
async def remove_call(self, async def remote_call(self,
module: str, module: str,
version: str, version: str,
submessage: str, submessage: str,