35 lines
1 KiB
Python
35 lines
1 KiB
Python
|
|
"""
|
||
|
|
Konfigurasjon for TeeCup-API-et.
|
||
|
|
|
||
|
|
ADR (åpent spørsmål 1): TeeCup bruker EGNE, uavhengige secrets — den skal ikke
|
||
|
|
falle tilbake på 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()
|