teecup/app/config.py

35 lines
1 KiB
Python
Raw Normal View History

2026-07-16 07:26:04 +02:00
"""
Konfigurasjon for TeeCup-API-et.
ADR (åpent spørsmål 1): TeeCup bruker EGNE, uavhengige secrets den skal ikke
falle tilbake teeoff sine. Manglende variabel skal feile høyt ved oppstart,
ikke stille bruke en usikker standard.
"""
import os
def _required(name: str) -> str:
value = os.environ.get(name, "").strip()
if not value:
raise RuntimeError(
f"Miljøvariabelen {name} mangler. TeeCup starter ikke uten den "
f"(ingen fallback til teeoff sine verdier — se ADR)."
)
return value
class Settings:
# Peker på teecup_db, og bruker RUNTIME-rollen teecup_app (ikke teeoff_admin).
# Format: postgresql://teecup_app:<passord>@<host>:<port>/teecup_db
DATABASE_URL: str = _required("TEECUP_DATABASE_URL")
# Egen sesjons-secret, uavhengig av teeoff.
SESSION_SECRET: str = _required("TEECUP_SESSION_SECRET")
DB_POOL_MIN: int = int(os.getenv("TEECUP_DB_POOL_MIN", "2"))
DB_POOL_MAX: int = int(os.getenv("TEECUP_DB_POOL_MAX", "10"))
settings = Settings()