Spaces:
Running
Running
| """ | |
| Core configuration for the DevOps Toolkit API. | |
| """ | |
| import os | |
| from pathlib import Path | |
| from typing import List | |
| class Settings: | |
| """Application settings loaded from environment variables.""" | |
| def __init__(self): | |
| # Server settings | |
| self.host: str = os.getenv("HOST", "0.0.0.0") | |
| self.port: int = int(os.getenv("PORT", 7860)) | |
| self.debug: bool = os.getenv("DEBUG", "false").lower() == "true" | |
| # Security settings | |
| self.allowed_origins: List[str] = os.getenv("ALLOWED_ORIGINS", "*").split(",") | |
| self.rate_limit_requests: int = int(os.getenv("RATE_LIMIT_REQUESTS", 10)) | |
| # Logging settings | |
| self.log_level: str = os.getenv("LOG_LEVEL", "INFO") | |
| # Path settings | |
| self.base_dir: Path = Path(__file__).parent.parent | |
| self.templates_dir: Path = self.base_dir / "templates" | |
| self.generated_dir: Path = self.base_dir.parent / "generated" | |
| self.logs_dir: Path = self.base_dir.parent / "logs" | |
| # Ensure directories exist | |
| self.templates_dir.mkdir(exist_ok=True) | |
| self.generated_dir.mkdir(exist_ok=True) | |
| self.logs_dir.mkdir(exist_ok=True) | |
| # Global settings instance | |
| settings = Settings() | |