22 lines
563 B
Python
22 lines
563 B
Python
import os
|
|
from dataclasses import dataclass
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
@dataclass
|
|
class AppConfig:
|
|
DEBUG: bool
|
|
SECRET_KEY: str
|
|
VAULT_PATH: str | None
|
|
|
|
|
|
def load_config(vault_override: str | None = None) -> AppConfig:
|
|
# Load .env if present
|
|
load_dotenv()
|
|
|
|
debug = os.getenv("FLASK_DEBUG", "0") in ("1", "true", "True")
|
|
secret = os.getenv("SECRET_KEY", "dev-secret-change-me")
|
|
vault_env = os.getenv("KB_VAULT_PATH")
|
|
|
|
vault = vault_override or vault_env
|
|
return AppConfig(DEBUG=debug, SECRET_KEY=secret, VAULT_PATH=vault) |