fix(server): api_upload load_env_file en setdefault (env systemd prime sur .env.local)
Some checks failed
tests / Lint (ruff + black) (push) Failing after 1m47s
tests / Tests unitaires (sans GPU) (push) Failing after 1m49s
tests / Tests sécurité (critique) (push) Has been skipped

.env.local etait charge avec override systematique, ecrasant RPA_BIND_HOST
defini par le service systemd -> upload API bindait 0.0.0.0 malgre le drop-in.
setdefault aligne sur la convention dotenv (override=False) : l'env explicite
du service prime, .env.local ne fournit que des defauts. Complete d0c794d92.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-06-17 20:34:43 +02:00
parent d0c794d923
commit 6d5ef51c60

View File

@@ -38,7 +38,11 @@ def load_env_file(env_path):
line = line.strip() line = line.strip()
if line and not line.startswith('#') and '=' in line: if line and not line.startswith('#') and '=' in line:
key, value = line.split('=', 1) key, value = line.split('=', 1)
os.environ[key.strip()] = value.strip() # setdefault : l'environnement déjà défini par le service (systemd
# Environment=/EnvironmentFile=) prime ; .env.local ne fournit que des
# valeurs par défaut. Évite d'écraser une variable volontairement
# surchargée côté service (ex. RPA_BIND_HOST=127.0.0.1).
os.environ.setdefault(key.strip(), value.strip())
return True return True
# Charger .env.local depuis le répertoire parent (racine du projet) # Charger .env.local depuis le répertoire parent (racine du projet)