""" Конфигурация приложения Автор: Сергей Антропов Сайт: https://devops.org.ru """ from pydantic_settings import BaseSettings from pathlib import Path from typing import Optional class Settings(BaseSettings): """Настройки приложения""" # Проект PROJECT_ROOT: Path = Path("/workspace") PROJECT_NAME: str = "devops-lab" # FastAPI API_HOST: str = "0.0.0.0" API_PORT: int = 8000 API_RELOAD: bool = True API_WORKERS: int = 1 # База данных DATABASE_URL: str = "sqlite:///./devopslab.db" # Redis REDIS_URL: str = "redis://localhost:6379/0" # Безопасность SECRET_KEY: str = "dev-secret-key-change-in-production" ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 # Docker DOCKER_HOST: str = "unix:///var/run/docker.sock" DOCKER_BUILDER_URL: str = "http://docker-builder:8001" # Проверка доступности Docker socket @property def docker_available(self) -> bool: """Проверка доступности Docker""" from pathlib import Path docker_sock = Path("/var/run/docker.sock") return docker_sock.exists() and docker_sock.is_socket() # Ansible ANSIBLE_FORCE_COLOR: str = "1" ANSIBLE_STDOUT_CALLBACK: str = "yaml" # Логирование LOG_LEVEL: str = "INFO" LOG_FILE: Optional[str] = "logs/app.log" # Отладка DEBUG: bool = False class Config: env_file = ".env" case_sensitive = True settings = Settings()