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

1.8 KiB

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

Appliance

vCenter Server Appliance (VCSA) surfaces — version, health, networking, timesync: app/vsphere/rest/appliance_ext.py, app/vsphere/domain/appliance.py.

Endpoints

Method Path Notes
GET /api/appliance/system/version Readable without a session; reflects the active catalog major's label
GET /api/appliance/health/system Overall health summary
GET/PUT/POST /api/appliance/networking Hostname, DNS, default gateway, interfaces, proxy
GET/PUT/POST /api/appliance/networking/dns/hostname | /dns/servers | /dns/domains Focused mirrors kept in sync with /networking
GET /api/appliance/timesync NTP mode + servers
GET /api/vcenter/certificate-management/vcenter/tls[-csr] | /trusted-root-chains Machine-cert / CSR / trust-chain stand-ins

Highlights

  • Defaults model a realistic single-nic VCSA (vcenter.lab.local, 192.168.1.50/24, gateway 192.168.1.1, 8.8.8.8/1.1.1.1 DNS).
  • save_networking keeps the focused DNS mirrors (/dns/hostname, /dns/servers, /dns/domains) consistent with the full /networking document so both shapes of Automation API client work.
  • State is idempotently seeded once per fresh database (seed_appliance_state) and persists in vsphere_api_state.
  • The TLS/certificate-management endpoints are seeded stand-ins, not a real VECS certificate store — see API coverage.

/api/appliance/system/version intentionally does not require a session in this lab build (real vCenter behavior varies by version) so smoke scripts can check availability before authenticating.