Миграция на Pydantic v2 SettingsConfigDict

This commit is contained in:
2026-07-24 22:04:24 +03:00
parent 0645484647
commit bfa072e3f5
+18 -4
View File
@@ -1,12 +1,21 @@
from pydantic_settings import BaseSettings
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
"""Конфигурация приложения. Все значения берутся из переменных окружения
(или из файла `.env` в текущей директории при локальной разработке)."""
# Общие
database_url: str = "sqlite:///./panel.db"
secret_key: str = "change-me-please-super-secret"
access_token_expire_minutes: int = 60 * 12
# CORS
allow_origins: str = "http://localhost:5173,http://127.0.0.1:5173"
# Логирование
log_level: str = "INFO"
# Proxmox
pve_host: str = "https://proxmox.local:8006"
pve_token_name: str = "root@pam!panel"
@@ -14,12 +23,17 @@ class Settings(BaseSettings):
pve_verify_ssl: bool = False
pve_node: str = "pve"
# Пул VMID, из которого будут выделяться номера новым машинам
# Пул VMID, из которого выделяются номера новым машинам.
# Реальный VMID всё равно берётся через /cluster/nextid — этот диапазон
# используется только для валидации/отображения.
vmid_range_start: int = 9000
vmid_range_end: int = 9999
class Config:
env_file = ".env"
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
extra="ignore",
)
settings = Settings()