f8d3cbdd59
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.
36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
**Language / Язык:** [English](../../domains/appliance.md) | [Русский](appliance.md)
|
|
|
|
# Appliance
|
|
|
|
Поверхности vCenter Server Appliance (VCSA) — version, health, networking,
|
|
timesync:
|
|
[`app/vsphere/rest/appliance_ext.py`](../../../app/vsphere/rest/appliance_ext.py),
|
|
[`app/vsphere/domain/appliance.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-coverage.md).
|
|
|
|
`/api/appliance/system/version` намеренно не требует сессию в этой lab-сборке
|
|
(поведение реального vCenter зависит от версии), чтобы smoke-скрипты могли
|
|
проверить доступность до аутентификации.
|