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
+31
View File
@@ -0,0 +1,31 @@
**Language / Язык:** [English](pulumi.md) | [Русский](../ru/examples/pulumi.md)
# Pulumi
[`examples/pulumi/`](../../examples/pulumi/) is a Python Pulumi program that uses
the official [`pulumi-vsphere`](https://www.pulumi.com/registry/packages/vsphere/)
provider (SOAP/VIM) against the simulator — the same provider path as Terraform
`hashicorp/vsphere`.
```bash
cd examples/pulumi
pip install -r requirements.txt
pulumi plugin install resource vsphere 4.17.0
pulumi stack init dev # once
pulumi config set server localhost # or your gateway host
pulumi config set --secret password 'VMware1!'
pulumi up
```
Configuration (`pulumi config set`): `server` (default `localhost`), `user`
(default `administrator@vsphere.local`), `password` (secret), `datacenter`,
`datastore`, `cluster`, `network`, `vm_name` (default `pulumi-lab-01`).
Same reseed caution as Terraform: simulator PostgreSQL state and Pulumi state
are independent. Pin the catalog major for reproducible CI if your workflow
depends on Web UI/evidence output (see [API versions](../api-versions.md)) —
runtime routes themselves are always available regardless of the major.
For the lab suite (inventory + folder + VM + tags, nonempty output checks, HTML
report), see [`pulumi-tests/`](../../pulumi-tests/README.md) or run
`make pulumi-tests` from the repo root.