From f12a0141041c45e15a4e4b5401eef5e351c786bb Mon Sep 17 00:00:00 2001 From: fl0ppy-d1sk Date: Tue, 3 Oct 2023 13:05:26 +0200 Subject: [PATCH] autoconf - update settings from db --- src/autoconf/Config.py | 9 +++++++++ src/autoconf/DockerController.py | 1 + src/autoconf/IngressController.py | 1 + src/autoconf/SwarmController.py | 1 + 4 files changed, 12 insertions(+) diff --git a/src/autoconf/Config.py b/src/autoconf/Config.py index ca54d95e6..cc1cdfe07 100644 --- a/src/autoconf/Config.py +++ b/src/autoconf/Config.py @@ -29,6 +29,15 @@ class Config(ConfigCaller): self._db = Database(self.__logger) + def _update_settings(self): + plugins = self._db.get_plugins() + if not plugins: + self.__logger.error("No plugins in database, can't update settings...") + return + self._settings = [] + for plugin in plugins: + self._settings.update(plugin["settings"]) + def __get_full_env(self) -> dict: env_instances = {"SERVER_NAME": ""} for instance in self.__instances: diff --git a/src/autoconf/DockerController.py b/src/autoconf/DockerController.py index da11935a2..491850baf 100644 --- a/src/autoconf/DockerController.py +++ b/src/autoconf/DockerController.py @@ -104,6 +104,7 @@ class DockerController(Controller): self._set_autoconf_load_db() for _ in self.__client.events(decode=True, filters={"type": "container"}): try: + self._update_settings() self._instances = self.get_instances() self._services = self.get_services() self._configs = self.get_configs() diff --git a/src/autoconf/IngressController.py b/src/autoconf/IngressController.py index 2011b2600..fc41f8f67 100644 --- a/src/autoconf/IngressController.py +++ b/src/autoconf/IngressController.py @@ -222,6 +222,7 @@ class IngressController(Controller): for _ in w.stream(what): self.__internal_lock.acquire() locked = True + self._update_settings() self._instances = self.get_instances() self._services = self.get_services() self._configs = self.get_configs() diff --git a/src/autoconf/SwarmController.py b/src/autoconf/SwarmController.py index d9b87f5fb..e02594798 100644 --- a/src/autoconf/SwarmController.py +++ b/src/autoconf/SwarmController.py @@ -122,6 +122,7 @@ class SwarmController(Controller): self.__internal_lock.acquire() locked = True try: + self._update_settings() self._instances = self.get_instances() self._services = self.get_services() self._configs = self.get_configs()