support for environmental substitution in config.json using python Template

refer comment in #35
This commit is contained in:
Arul
2022-11-13 21:37:44 +05:30
parent 7e6d74f1f6
commit a1fa3b9714
5 changed files with 23 additions and 7 deletions

View File

@@ -8,6 +8,8 @@
__version__ = "1.0.2"
from string import Template
import json
import os
import signal
@@ -17,7 +19,8 @@ import time
import requests
CONFIG_PATH = os.environ.get('CONFIG_PATH', os.getcwd())
# Read in all environment variables that have the correct prefix
ENV_VARS = {key: value for (key, value) in os.environ.items() if key.startswith('CF_DDNS_')}
class GracefulExit:
def __init__(self):
@@ -216,7 +219,7 @@ if __name__ == '__main__':
config = None
try:
with open(os.path.join(CONFIG_PATH, "config.json")) as config_file:
config = json.loads(config_file.read())
config = json.loads(Template(config_file.read()).safe_substitute(ENV_VARS))
except:
print("😡 Error reading config.json")
# wait 10 seconds to prevent excessive logging on docker auto restart