**Language / Язык:** [English](seed-profiles.md) | [Русский](ru/seed-profiles.md) # Seed profiles Seeds replace the vSphere inventory **atomically** using deterministic MOIDs so labs are reproducible. Definitions live in [`app/vsphere/profiles.py`](../app/vsphere/profiles.py). ```bash make seed # default: large (10 hosts / 1000 VMs) VSPHERE_PROFILE=small make seed VSPHERE_PROFILE=big make seed ``` ## Profiles | Profile | Hosts | VMs | Datastores | Networks | Folders† | Content extras | |---|---:|---:|---:|---:|---:|---:| | `minimal` | 3 | 5 | 1 | 1 | 8 | ×1 | | `small` | 3 | 50 | 2 | 2 | 8 | ×1 | | `large` (default) | 10 | 1000 | 4 | 4 | 10 | ×2 | | `big` | 20 | 2000 | 8 | 8 | 14 | ×4 | † Spine folders (8) plus scaled team folders for larger tiers. `demo-cluster` remains an alias of `big`. Reset / unload loads `minimal`. ## Examples ```bash make seed # large, 10 hosts / 1000 VMs VSPHERE_PROFILE=small make seed VSPHERE_PROFILE=big make seed VSPHERE_PROFILE=large VSPHERE_HOSTS=20 VSPHERE_VMS=5000 make seed # 100% seed ↔ live inventory dump VSPHERE_PROFILE=big make vsphere-seed-dump ``` Or run the seed CLI directly with the underlying environment variables (for example from a non-`make` script or CI step): ```bash SEED_VSPHERE_PROFILE=small \ docker compose run --rm --entrypoint python simulator -m app.simulation.seed_cli ``` ## Topology shape Every profile builds the same spine (`Datacenters` → `Datacenter` → host/vm/ datastore/network folders → one `ClusterComputeResource` + `ResourcePool`), then scales hosts, datastores, port groups, and VMs. VM MOIDs are `vm-{100+n}`; host MOIDs are `host-{10+n}`. ## Web UI The **DATA** panel exposes three load buttons matching these tiers. Each call is `POST /ui/api/vsphere/seed?profile=small|large|big` (atomic reseed). Legacy endpoints: - `POST /ui/api/demo/load` → `big` - `POST /ui/api/demo/unload` → `small`