From: Aleš Mrázek Date: Fri, 27 Dec 2024 15:02:51 +0000 (+0100) Subject: manager: files: added files_reload callback X-Git-Tag: v6.0.10~5^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a709c5c2c20f1837ac69920fb688c2fd1f74475;p=thirdparty%2Fknot-resolver.git manager: files: added files_reload callback Now it will only reload the TLS cert files. --- diff --git a/python/knot_resolver/manager/files/__init__.py b/python/knot_resolver/manager/files/__init__.py index 49700656b..29fbc7419 100644 --- a/python/knot_resolver/manager/files/__init__.py +++ b/python/knot_resolver/manager/files/__init__.py @@ -1,3 +1,4 @@ +from .reload import files_reload from .watchdog import init_files_watchdog -__all__ = ["init_files_watchdog"] +__all__ = ["files_reload", "init_files_watchdog"] diff --git a/python/knot_resolver/manager/files/reload.py b/python/knot_resolver/manager/files/reload.py new file mode 100644 index 000000000..6dfd58749 --- /dev/null +++ b/python/knot_resolver/manager/files/reload.py @@ -0,0 +1,17 @@ +import logging + +from knot_resolver.controller.registered_workers import command_registered_workers +from knot_resolver.datamodel import KresConfig + +logger = logging.getLogger(__name__) + + +async def files_reload(config: KresConfig) -> None: + cert_file = config.network.tls.cert_file + key_file = config.network.tls.key_file + + if cert_file and key_file: + logger.info("TLS cert files reload triggered") + + cmd = f"net.tls('{cert_file}', '{key_file}')" + await command_registered_workers(cmd)