Files

6.1 KiB
Raw Permalink Blame History

Language / Язык: English | Русский

Конфигурация

Настройки приложения загружаются из окружения (см. .env.example). Docker Compose инжектирует многие из них для сервиса simulator; значения, объявленные в environment: в docker-compose.yml, переопределяют .env для этого сервиса. Типизированная модель настроек находится в app/config.py.

Основное

Переменная По умолчанию / пример Значение
APP_HOST 0.0.0.0 Адрес bind
APP_PORT 8080 Внутренний порт uvicorn (не публикуется; gateway публикует vCenter HTTPS)
DATABASE_URL postgresql://vmware:vmware@postgres:5432/vmware_simulator asyncpg DSN
DB_POOL_MIN_SIZE 1 Минимум пула
DB_POOL_MAX_SIZE 10 Максимум пула
DB_CONNECT_TIMEOUT_SECONDS 10 Таймаут подключения
DB_COMMAND_TIMEOUT_SECONDS 30 Таймаут команды
LOG_LEVEL INFO Уровень логирования
REQUEST_ID_HEADER X-Request-ID Заголовок корреляции запросов

vSphere seed inventory

Переменная По умолчанию Значение
SEED_VSPHERE_PROFILE large small | large | big (demo-cluster = big) — см. Профили seed
SEED_VSPHERE_LARGE_HOSTS 10 Число хостов для профиля large
SEED_VSPHERE_LARGE_VMS 1000 Число VM для профиля large

Опциональная legacy-плоскость

Переменная По умолчанию Значение
ENABLE_PVE_STUB false Включает legacy Proxmox VE /api2/* stub-плоскость, унаследованную из общей platform lineage. Нативная vSphere /api + /rest + /sdk — основная плоскость по умолчанию независимо от этого флага.

Contract и catalog

Переменная Значение
CONTRACT_SNAPSHOT Опциональный путь к нормализованному PVE-style snapshot (актуально только при ENABLE_PVE_STUB=true)
CONTRACT_FALLBACK error (default), schema-default, или fixture — fallback-поведение для опциональной stub-плоскости
COMPATIBILITY_EVIDENCE Опциональный путь к evidence JSON для отчётов совместимости
CATALOG_ARTIFACT_URL_6_9 Метки catalog majors vSphere (6→7.0, 7→7.0 U3, 8→8.0, 9→8.0 U2); stub URLs, не live downloads

Runtime hot-swap (Web UI / POST /ui/api/contract/apply?major=N) переключает активный catalog major, используемый Web UI и compatibility/evidence отчётами. Он не ограничивает зарегистрированную REST/SOAP поверхность — каждый известный маршрут всегда обслуживается реальным обработчиком или DB-backed stub. См. Версии API.

Безопасность и задачи

Переменная Значение
TICKET_SIGNING_KEY HMAC signing key для сессий (меняйте вне toy labs)
TASK_WORKER_CONCURRENCY Число leased asyncio workers (132)
TASK_LEASE_SECONDS Длительность lease PostgreSQL-задачи
SIMULATION_TIME_SCALE Ускоряет симулированные длительности задач (выше = быстрее)

Client test hooks

Переменная Значение
TEST_DATABASE_URL DSN для integration-тестов
VSPHERE_BASE Базовый URL для cookbooks/probes (https://localhost с хоста, http://simulator:8080 изнутри Compose)

Порты и TLS

Endpoint Назначение
https://localhost Основная vCenter HTTPS точка входа (curl, browsers, pyvmomi, govmomi, Terraform, большинство examples)
http://localhost HTTP-грань для лабораторных нужд
localhost:5434 PostgreSQL (только localhost)
Internal simulator:8080 Прямой процесс FastAPI; доступен только внутри Compose network

Вшитый сертификат в docker/tls/ — одноразовый development material. Никогда не используйте его вне локальных labs. См. Безопасность и Порты.

Заметки по Compose

  • migrate выполняется один раз; simulator ждёт успешного migrate.
  • Development Compose bind-mount'ит репозиторий и включает Uvicorn reload.
  • Сервис api-gateway (nginx) публикует 443/80 и проксирует на внутренний процесс simulator:8080; устанавливает X-VMware-Service / X-Forwarded-Port, чтобы будущие routers могли определить использованный listener.

Открытые и неиспользуемые example keys

.env.example всё ещё перечисляет несколько ключей из общей platform lineage, которые не потребляются текущей vSphere-first моделью настроек, в частности SIMULATION_SEED, SIMULATOR_ADMIN_ENABLED и SIMULATOR_ADMIN_TOKEN. Не предполагайте, что аутентифицированный admin API /_simulator существует сегодня — см. Безопасность.