SFM/app/config.py
2026-06-04 14:13:30 +03:00

33 lines
745 B
Python

from __future__ import annotations
import os
SETTINGS_PREFIX = "OPENBAO__SETTINGS__"
REQUIRED_KEYCLOAK_SETTINGS = (
"KEYCLOAK_CLIENT_ID",
"KEYCLOAK_CLIENT_SECRET",
"KEYCLOAK_AUTHORIZE_URL",
"KEYCLOAK_TOKEN_URL",
"KEYCLOAK_LOGOUT_URL",
"KEYCLOAK_JWKS_URL",
"KEYCLOAK_REDIRECT_URI",
"KEYCLOAK_SCOPE",
"KEYCLOAK_JWT_ALGORITHM",
)
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_missing_settings() -> list[str]:
return [name for name in REQUIRED_KEYCLOAK_SETTINGS if not get_setting(name)]
def get_location() -> str:
return get_setting("LOCATION").lower()