autoconf - update settings from db

This commit is contained in:
fl0ppy-d1sk 2023-10-03 13:05:26 +02:00
parent 8fbe692618
commit f12a014104
No known key found for this signature in database
GPG key ID: 93EE47CC3D061500
4 changed files with 12 additions and 0 deletions

View file

@ -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:

View file

@ -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()

View file

@ -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()

View file

@ -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()