diff --git a/.gitignore b/.gitignore index 51b4cfd..963e43f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ local/ +__pycache__/ +*.py[cod] diff --git a/python-tools/app/runner.py b/python-tools/app/runner.py index 1f81aed..5f08b68 100644 --- a/python-tools/app/runner.py +++ b/python-tools/app/runner.py @@ -339,6 +339,18 @@ class RunManager: } if self.settings.timezone_name: environment["TZ"] = self.settings.timezone_name + for name in os.environ.get("SERVER_MAINTENANCE_TASK_ENV", "").split(","): + name = name.strip() + if not name: + continue + if not name.isidentifier() or name.startswith("SERVER_MAINTENANCE_"): + raise ValueError( + "SERVER_MAINTENANCE_TASK_ENV entries must be environment variable names " + "outside the SERVER_MAINTENANCE_ namespace" + ) + value = os.environ.get(name) + if value is not None: + environment[name] = value return environment def _upload_root(self, run_id: int) -> Path: