pg-plan-cache-agent / config.py
nilenpatel's picture
Initial release: pg_plan_cache agent
40eb9bf
"""
Configuration for the pg_plan_cache agent.
Loads settings from environment variables or .env file.
"""
import os
from dataclasses import dataclass
@dataclass
class Config:
# PostgreSQL
pg_host: str = "127.0.0.1"
pg_port: int = 5432
pg_database: str = "postgres"
pg_user: str = "postgres"
pg_password: str = ""
# Redis
redis_host: str = "127.0.0.1"
redis_port: int = 6379
redis_password: str = ""
redis_db: int = 0
def load_config() -> Config:
"""Load configuration from environment variables."""
try:
from dotenv import load_dotenv
env_path = os.path.join(os.path.dirname(__file__), ".env")
load_dotenv(env_path)
except ImportError:
pass
return Config(
pg_host=os.getenv("PG_HOST", "127.0.0.1"),
pg_port=int(os.getenv("PG_PORT", "5432")),
pg_database=os.getenv("PG_DATABASE", "postgres"),
pg_user=os.getenv("PG_USER", "postgres"),
pg_password=os.getenv("PG_PASSWORD", ""),
redis_host=os.getenv("REDIS_HOST", "127.0.0.1"),
redis_port=int(os.getenv("REDIS_PORT", "6379")),
redis_password=os.getenv("REDIS_PASSWORD", ""),
redis_db=int(os.getenv("REDIS_DB", "0")),
)