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.
This commit is contained in:
2026-07-18 04:42:11 +03:00
commit f8d3cbdd59
422 changed files with 361335 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
**Language / Язык:** [English](../../examples/overview.md) | [Русский](overview.md)
# Обзор примеров клиентов
## Чеклист запуска
```bash
make up
curl -skf https://localhost/health/ready
make seed
curl -sk https://localhost/api/appliance/system/version
```
## Конечные точки
| URL | Когда использовать |
|---|---|
| `https://localhost` | curl, pyvmomi, govmomi, Terraform, Pulumi, Ansible, Go, Java, Perl — всё из `examples/` |
| `http://localhost` | Лабораторный HTTP без TLS (без рукопожатия TLS) |
## Краткая справка по аутентификации
**Сессия (REST)**
```bash
SID=$(curl -sk -u 'administrator@vsphere.local:VMware1!' \
-X POST https://localhost/api/session | tr -d '"')
curl -sk -H "vmware-api-session-id: $SID" https://localhost/api/vcenter/vm
```
**SOAP Login**
```bash
python examples/python/vsphere_soap_smoke.py https://localhost
```
## Ожидание задач
Не считайте HTTP-ответ мутации достаточным признаком «ВМ запущена». Вызовы
power, clone, relocate, snapshot и OVF-deploy возвращают `{ "task": "task-…" }`;
опрашивайте `GET /api/cis/tasks/{task}`, пока `status` не станет `SUCCEEDED` или
`FAILED`. См. [Задачи](../domains/tasks.md).
## Предупреждение о повторном seed
`make seed` заменяет инвентарь PostgreSQL. После этого обновите состояние
Terraform/Pulumi/Ansible — см. [Профили seed](../seed-profiles.md).
## Дерево исполняемых примеров
См. [`examples/README.ru.md`](../../../examples/README.ru.md). Lab-набор на
официальном `pulumi-vsphere` — в
[`pulumi-tests/`](../../../pulumi-tests/README.ru.md) (`make pulumi-tests`).