Files
Business-Management/backend/app/core/config.py
T
curo1305 3248607790 Add service health checks and dynamic Apps page
Backend polls each registered service's /health endpoint every 30 s via a
background asyncio task. GET /api/services exposes the live status snapshot.
The Apps page now renders from this endpoint — showing "Unavailable" (dimmed,
non-clickable) when a service is registered but its container is unreachable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 17:31:36 +02:00

32 lines
1.1 KiB
Python

from pydantic import field_validator
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
PROJECT_NAME: str = "destroying_sap"
DATABASE_URL: str = "postgresql+asyncpg://postgres:password@localhost:5432/destroying_sap"
# RS256 asymmetric signing — generate keys with scripts/generate_jwt_keys.py
ALGORITHM: str = "RS256"
JWT_PRIVATE_KEY: str = "" # PEM, required; set via env var
JWT_PUBLIC_KEY: str = "" # PEM, required; set via env var
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 8 # 8 hours — no permanent sessions
CORS_ORIGINS: list[str] = ["http://localhost:5173"]
DOC_SERVICE_URL: str = "http://doc-service:8001"
AI_SERVICE_URL: str = "http://ai-service:8010"
@field_validator("JWT_PRIVATE_KEY", "JWT_PUBLIC_KEY", mode="before")
@classmethod
def expand_newlines(cls, v: str) -> str:
"""Allow PEM keys stored on a single line with literal \\n in .env."""
return v.replace("\\n", "\n") if isinstance(v, str) else v
class Config:
env_file = ".env"
settings = Settings()