APP_HOST=0.0.0.0 # Internal uvicorn port (not published). Public vCenter HTTPS is on api-gateway :443. APP_PORT=8080 DATABASE_URL=postgresql://vmware:vmware@postgres:5432/vmware_simulator TEST_DATABASE_URL=postgresql://vmware:vmware@postgres:5432/vmware_simulator DB_POOL_MIN_SIZE=1 DB_POOL_MAX_SIZE=10 DB_CONNECT_TIMEOUT_SECONDS=10 DB_COMMAND_TIMEOUT_SECONDS=30 LOG_LEVEL=INFO REQUEST_ID_HEADER=X-Request-ID VSPHERE_RELEASE=8.0 U2 # Native vSphere /api + /sdk is the default plane. ENABLE_PVE_STUB=false # vSphere synthetic inventory (default large ≈ 10 hosts / 1000 VMs) SEED_VSPHERE_PROFILE=large SEED_VSPHERE_LARGE_HOSTS=10 SEED_VSPHERE_LARGE_VMS=1000 # Optional Proxmox stub plane (only when ENABLE_PVE_STUB=true): # CONTRACT_SNAPSHOT=/app/contracts/pve-9.2.3.json # COMPATIBILITY_EVIDENCE=/app/evidence/pve-9.2.3.json CONTRACT_FALLBACK=error CATALOG_ARTIFACT_URL_6=stub://vmware/vsphere-7.0/api-contract CATALOG_ARTIFACT_URL_7=stub://vmware/vsphere-7.0u3/api-contract CATALOG_ARTIFACT_URL_8=stub://vmware/vsphere-8.0/api-contract CATALOG_ARTIFACT_URL_9=stub://vmware/vsphere-8.0u2/api-contract TICKET_SIGNING_KEY=development-only-signing-key-change-me TASK_WORKER_CONCURRENCY=2 TASK_LEASE_SECONDS=30 SIMULATION_SEED=42 SIMULATION_TIME_SCALE=10 SIMULATOR_ADMIN_ENABLED=false SIMULATOR_ADMIN_TOKEN=replace-with-a-long-random-secret