from pydantic_settings import BaseSettings from typing import List import os class Settings(BaseSettings): # Application APP_NAME: str = "VConnect API" APP_VERSION: str = "1.0.0" DEBUG: bool = True API_V1_PREFIX: str = "/api" # Database DATABASE_URL: str = "sqlite:///./vconnect.db" # JWT JWT_SECRET_KEY: str = "your-secret-key-change-in-production" JWT_ALGORITHM: str = "HS256" JWT_ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 JWT_REFRESH_TOKEN_EXPIRE_DAYS: int = 7 # Proxmox PROXMOX_HOST: str = "https://pve.mouse84.com:8006" PROXMOX_API_TOKEN: str = "" PROXMOX_VERIFY_SSL: bool = False # SSH Gateway SSH_HOST: str = "" SSH_PORT: int = 22 SSH_USERNAME: str = "" SSH_KEY_PATH: str = "" SSH_PASSWORD: str = "" # Tunnel Port Range TUNNEL_PORT_MIN: int = 50000 TUNNEL_PORT_MAX: int = 60000 # CORS CORS_ORIGINS: List[str] = ["http://localhost:8080", "http://localhost:3000"] # Logging LOG_LEVEL: str = "INFO" LOG_FILE: str = "logs/vconnect.log" # Admin ADMIN_USERNAME: str = "admin" ADMIN_PASSWORD: str = "admin123" ADMIN_EMAIL: str = "admin@example.com" class Config: env_file = ".env" case_sensitive = True settings = Settings()