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.
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
**Language / Язык:** [English](README.md) | [Русский](README.ru.md)
|
|
|
|
# Исполняемые client cookbooks
|
|
|
|
Сопровождающий код к [docs/ru/clients.md](../docs/ru/clients.md) и
|
|
[docs/ru/examples/](../docs/ru/examples/overview.md).
|
|
|
|
## Требования
|
|
|
|
```bash
|
|
make up
|
|
VSPHERE_PROFILE=demo-cluster make seed # or small / large
|
|
```
|
|
|
|
Учётные данные лаборатории по умолчанию: `administrator@vsphere.local` / `VMware1!`.
|
|
|
|
## Нативные smoke vSphere
|
|
|
|
```bash
|
|
python examples/python/vsphere_rest_smoke.py https://localhost
|
|
python examples/python/vsphere_soap_smoke.py https://localhost
|
|
python examples/python/vsphere_lifecycle.py # REST create/power/guest FS + SOAP CreateVM
|
|
python examples/python/requests_cookbook.py # raw requests, no SDK
|
|
ansible-playbook -i examples/ansible/inventory.ini examples/ansible/vsphere_playbook.yml
|
|
cd examples/terraform/vsphere && terraform init && terraform apply
|
|
cd examples/pulumi && pulumi up
|
|
cd examples/go && go run .
|
|
cd examples/java && javac Cookbook.java && java Cookbook
|
|
cd examples/perl && cpanm --installdeps . && perl cookbook.pl
|
|
make vsphere-surface
|
|
```
|
|
|
|
## Структура
|
|
|
|
| Путь | Стек |
|
|
|---|---|
|
|
| `python/vsphere_*.py` | Нативные REST + SOAP smokes / lifecycle |
|
|
| `python/requests_cookbook.py` | Raw `requests` REST cookbook (session, create/power/delete) |
|
|
| `ansible/vsphere_playbook.yml` | Ansible REST lifecycle |
|
|
| `terraform/vsphere/` | Terraform `hashicorp/vsphere` (SOAP-backed provider) |
|
|
| `pulumi/` | Pulumi REST `ComponentResource` |
|
|
| `go/`, `java/`, `perl/` | Минимальные REST cookbook на других языках (stdlib HTTP-клиенты, сессия Basic-auth) |
|
|
|
|
Независимый lab-набор на `pulumi-vsphere` живёт в
|
|
[`pulumi-tests/`](../pulumi-tests/README.ru.md) — из корня репозитория:
|
|
`make pulumi-tests` (или `make test-pulumi` внутри этой директории).
|
|
|
|
Гайды: [docs/ru/examples/](../docs/ru/examples/overview.md). Матрица покрытия:
|
|
[docs/ru/api-coverage.md](../docs/ru/api-coverage.md).
|