Files
inecs f8d3cbdd59 Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API
contracts, docs, client examples, and the unit/integration/compatibility
test suite for local client and tooling labs without a real vCenter.
2026-07-18 04:42:11 +03:00

2.3 KiB

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

Appliance

Поверхности vCenter Server Appliance (VCSA) — version, health, networking, timesync: app/vsphere/rest/appliance_ext.py, app/vsphere/domain/appliance.py.

Эндпоинты

Метод Путь Заметки
GET /api/appliance/system/version Читается без сессии; отражает метку активного catalog major
GET /api/appliance/health/system Сводка общего health
GET/PUT/POST /api/appliance/networking Hostname, DNS, default gateway, interfaces, proxy
GET/PUT/POST /api/appliance/networking/dns/hostname | /dns/servers | /dns/domains Сфокусированные зеркала, синхронизированные с /networking
GET /api/appliance/timesync Режим NTP + servers
GET /api/vcenter/certificate-management/vcenter/tls[-csr] | /trusted-root-chains Stand-in'ы machine-cert / CSR / trust-chain

Основные моменты

  • Defaults моделируют реалистичный single-nic VCSA (vcenter.lab.local, 192.168.1.50/24, gateway 192.168.1.1, DNS 8.8.8.8/1.1.1.1).
  • save_networking держит сфокусированные DNS-зеркала (/dns/hostname, /dns/servers, /dns/domains) согласованными с полным документом /networking, чтобы работали оба стиля клиентов Automation API.
  • Состояние идемпотентно засевается один раз на свежую БД (seed_appliance_state) и хранится в vsphere_api_state.
  • Эндпоинты TLS/certificate-management — seeded stand-in'ы, не настоящее хранилище сертификатов VECS — см. Покрытие API.

/api/appliance/system/version намеренно не требует сессию в этой lab-сборке (поведение реального vCenter зависит от версии), чтобы smoke-скрипты могли проверить доступность до аутентификации.