From: Aleš Mrázek Date: Fri, 24 Jul 2026 13:29:37 +0000 (+0200) Subject: python/knot_resolver: exec controller during resolver startup X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d268611c29f35a63d80d8fd429bfbd75d55a8d90;p=thirdparty%2Fknot-resolver.git python/knot_resolver: exec controller during resolver startup --- diff --git a/python/knot_resolver/resolver.py b/python/knot_resolver/resolver.py index d6dba1720..d9d528b3d 100644 --- a/python/knot_resolver/resolver.py +++ b/python/knot_resolver/resolver.py @@ -1,10 +1,14 @@ from __future__ import annotations import os +import sys from pathlib import Path from typing import TYPE_CHECKING +from .config import KresConfig from .constants import RUN_DIR +from .controller import SupervisordController +from .controller.errors import ControllerError from .logging import get_logger if TYPE_CHECKING: @@ -21,9 +25,18 @@ def start_resolver(args: KresArgs) -> None: _config_paths = [Path(file).absolute() for file in args.config] # TODO(amrazek): load/parse/validate configuration here + config = KresConfig() # TODO(amrazek): set logging level, target, ... # TODO(amrazek): use 'rundir' from configuration logger.debug("Changing working directory to '%s'", RUN_DIR) os.chdir(RUN_DIR) + + try: + controller = SupervisordController(args, config) + controller.write_config() + controller.exec() + except ControllerError as e: + logger.critical(e) + sys.exit(1)