27 lines
800 B
Python
27 lines
800 B
Python
from pydantic import Field
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(
|
|
env_file=(".env", "backend/.env"),
|
|
env_file_encoding="utf-8",
|
|
case_sensitive=False,
|
|
extra="ignore",
|
|
)
|
|
|
|
MONGODB_URI: str
|
|
MONGODB_DB_NAME: str
|
|
JWT_SECRET_KEY: str
|
|
JWT_ALGORITHM: str = "HS256"
|
|
JWT_EXPIRE_MINUTES: int = Field(default=720, gt=0)
|
|
AUTH_USERNAME: str
|
|
AUTH_PASSWORD: str
|
|
API_PORT: int = Field(default=3671, ge=1, le=65535)
|
|
SERVICE_SCAN_ROOT: str | None = None
|
|
HEALTHCHECK_INTERVAL_SECONDS: int = Field(default=15, ge=5, le=300)
|
|
HEALTH_HISTORY_TTL_SECONDS: int = Field(default=86400, ge=300)
|
|
|
|
|
|
settings = Settings() # pyright: ignore[reportCallIssue]
|