SFM/app/config.py
2026-06-04 16:27:02 +03:00

44 lines
1.0 KiB
Python

from __future__ import annotations
import os
SETTINGS_PREFIX = "OPENBAO__SETTINGS__"
RAISA_ENV_KEYS = (
"AUTHORIZE_URL",
"TOKEN_URL",
"REFRESH_TOKEN_URL",
"LOGOUT_URL",
"JWKS_URL",
"CLIENT_ID",
"CLIENT_SECRET",
"REDIRECT_URI",
"SCOPE",
"APP_ID",
"APP_NAMESPACE",
"APP_NAME",
"LOCATION",
)
def get_setting(name: str) -> str:
prefixed = os.getenv(f"{SETTINGS_PREFIX}{name}", "").strip()
if prefixed:
return prefixed
return os.getenv(name, "").strip()
def get_location() -> str:
return get_setting("LOCATION").lower() or "prod"
def apply_raisa_env_aliases() -> None:
"""
Заполняет обычные имена переменных из OPENBAO__SETTINGS__,
чтобы raisa_streamlit_oauth работал одинаково в локальном и raisa runtime.
"""
for key in RAISA_ENV_KEYS:
prefixed = os.getenv(f"{SETTINGS_PREFIX}{key}", "").strip()
if prefixed and not os.getenv(key):
os.environ[key] = prefixed