feat: add configuration module with env-based settings
This commit is contained in:
parent
922851b966
commit
16a78663f3
3 changed files with 75 additions and 1 deletions
36
src/fastapi_oidc_op/config.py
Normal file
36
src/fastapi_oidc_op/config.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# src/fastapi_oidc_op/config.py
|
||||
from enum import StrEnum
|
||||
|
||||
from pydantic_settings import BaseSettings
|
||||
|
||||
|
||||
class StorageBackend(StrEnum):
|
||||
SQLITE = "sqlite"
|
||||
MONGODB = "mongodb"
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
model_config = {"env_prefix": "OIDC_OP_"}
|
||||
|
||||
# Core
|
||||
issuer: str
|
||||
debug: bool = False
|
||||
|
||||
# Storage
|
||||
storage_backend: StorageBackend = StorageBackend.SQLITE
|
||||
|
||||
# SQLite
|
||||
sqlite_path: str = "data/oidc_op.db"
|
||||
|
||||
# MongoDB
|
||||
mongodb_uri: str = "mongodb://localhost:27017"
|
||||
mongodb_database: str = "oidc_op"
|
||||
|
||||
# Management RP
|
||||
manage_client_id: str = "manage-app"
|
||||
|
||||
# Magic links
|
||||
invite_ttl: int = 86400 # seconds
|
||||
|
||||
# Theme
|
||||
theme: str = "default"
|
||||
Loading…
Add table
Add a link
Reference in a new issue