38 lines
967 B
Python
38 lines
967 B
Python
# topology_api/config.py
|
|
import os
|
|
from pathlib import Path
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
|
load_dotenv(PROJECT_ROOT / ".env")
|
|
|
|
# PostgreSQL connection (from .env)
|
|
PGHOST = os.environ["PGHOST"]
|
|
PGPORT = os.environ["PGPORT"]
|
|
PGUSER = os.environ["PGUSER"]
|
|
PGPASSWORD = os.environ["PGPASSWORD"]
|
|
TOPO_DATABASE = os.environ.get("TOPO_DATABASE", "ksp_wiki_topology")
|
|
|
|
_BASE_DSN = f"postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}:{PGPORT}"
|
|
|
|
DATABASE_URL = os.environ.get(
|
|
"TOPOLOGY_DATABASE_URL",
|
|
f"{_BASE_DSN}/{TOPO_DATABASE}",
|
|
)
|
|
|
|
READER_DATABASE_URL = os.environ.get(
|
|
"TOPOLOGY_READER_DATABASE_URL",
|
|
DATABASE_URL,
|
|
)
|
|
|
|
WRITER_DATABASE_URL = os.environ.get(
|
|
"TOPOLOGY_WRITER_DATABASE_URL",
|
|
DATABASE_URL,
|
|
)
|
|
|
|
API_HOST = os.environ.get("TOPOLOGY_API_HOST", "0.0.0.0")
|
|
API_PORT = int(os.environ.get("TOPOLOGY_API_PORT", "8080"))
|
|
API_DEBUG = os.environ.get("TOPOLOGY_API_DEBUG", "false").lower() == "true"
|