From 8ea18eca17975acb7b479e55e5a8f01cb886033a Mon Sep 17 00:00:00 2001 From: Jawad Qureshi Date: Mon, 17 Apr 2023 13:25:18 -0500 Subject: [PATCH 1/2] Add ability to read fence config(s) from env vars --- fence/config.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fence/config.py b/fence/config.py index 9551a8418..2da609f4d 100644 --- a/fence/config.py +++ b/fence/config.py @@ -49,6 +49,15 @@ def post_process(self): for default in defaults: self.force_default_if_none(default, default_cfg=default_config) + # Read in all environment variables starting with FENCE_ + for env_var, env_val in os.environ.items(): + if env_var.startswith("FENCE_"): + config_key = env_var[6:] # remove "FENCE_" prefix + self[config_key] = env_val + logger.info( + f"Found environment variable '{env_var}': overriding '{config_key}' field from config file" + ) + # allow setting DB connection string via env var if os.environ.get("DB"): logger.info( From 8512475934e3e434d5eda3d86d0cc4f9b6679acc Mon Sep 17 00:00:00 2001 From: Jawad Qureshi Date: Wed, 19 Apr 2023 12:59:06 -0500 Subject: [PATCH 2/2] Add ability to read fence config(s) from env vars --- fence/config.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/fence/config.py b/fence/config.py index 2da609f4d..4374a440c 100644 --- a/fence/config.py +++ b/fence/config.py @@ -58,17 +58,6 @@ def post_process(self): f"Found environment variable '{env_var}': overriding '{config_key}' field from config file" ) - # allow setting DB connection string via env var - if os.environ.get("DB"): - logger.info( - "Found environment variable 'DB': overriding 'DB' field from config file" - ) - self["DB"] = os.environ["DB"] - else: - logger.info( - "Environment variable 'DB' empty or not set: using 'DB' field from config file" - ) - if "ROOT_URL" not in self._configs and "BASE_URL" in self._configs: url = urllib.parse.urlparse(self._configs["BASE_URL"]) self._configs["ROOT_URL"] = "{}://{}".format(url.scheme, url.netloc)