@calltelemetry/ct-lab-mcp 0.8.65 → 0.8.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -7
- package/dist/src/crd/reconciler.d.ts.map +1 -1
- package/dist/src/crd/reconciler.js +4 -1
- package/dist/src/crd/reconciler.js.map +1 -1
- package/dist/src/credentials/resolver.d.ts.map +1 -1
- package/dist/src/credentials/resolver.js +14 -16
- package/dist/src/credentials/resolver.js.map +1 -1
- package/dist/src/credentials/types.d.ts +2 -1
- package/dist/src/credentials/types.d.ts.map +1 -1
- package/dist/src/hypervisors/clone-size.d.ts +5 -0
- package/dist/src/hypervisors/clone-size.d.ts.map +1 -0
- package/dist/src/hypervisors/clone-size.js +27 -0
- package/dist/src/hypervisors/clone-size.js.map +1 -0
- package/dist/src/hypervisors/esxi/client.d.ts +1 -0
- package/dist/src/hypervisors/esxi/client.d.ts.map +1 -1
- package/dist/src/hypervisors/esxi/client.js +33 -6
- package/dist/src/hypervisors/esxi/client.js.map +1 -1
- package/dist/src/hypervisors/esxi/mock.d.ts.map +1 -1
- package/dist/src/hypervisors/esxi/mock.js +2 -0
- package/dist/src/hypervisors/esxi/mock.js.map +1 -1
- package/dist/src/hypervisors/manager.d.ts +6 -1
- package/dist/src/hypervisors/manager.d.ts.map +1 -1
- package/dist/src/hypervisors/manager.js +30 -9
- package/dist/src/hypervisors/manager.js.map +1 -1
- package/dist/src/hypervisors/proxmox/client.d.ts.map +1 -1
- package/dist/src/hypervisors/proxmox/client.js +29 -28
- package/dist/src/hypervisors/proxmox/client.js.map +1 -1
- package/dist/src/hypervisors/types.d.ts +3 -0
- package/dist/src/hypervisors/types.d.ts.map +1 -1
- package/dist/src/proxmox/mock.d.ts.map +1 -1
- package/dist/src/proxmox/mock.js +8 -1
- package/dist/src/proxmox/mock.js.map +1 -1
- package/dist/src/server.js +3 -3
- package/dist/src/server.js.map +1 -1
- package/dist/src/slot/manager.d.ts +22 -3
- package/dist/src/slot/manager.d.ts.map +1 -1
- package/dist/src/slot/manager.js +275 -258
- package/dist/src/slot/manager.js.map +1 -1
- package/dist/src/slot/types.d.ts +17 -0
- package/dist/src/slot/types.d.ts.map +1 -1
- package/dist/src/slot/types.js +1 -1
- package/dist/src/slot/types.js.map +1 -1
- package/dist/src/tools/claimed-import-qcow.d.ts +2 -2
- package/dist/src/tools/cube-provision.d.ts.map +1 -1
- package/dist/src/tools/cube-provision.js +47 -47
- package/dist/src/tools/cube-provision.js.map +1 -1
- package/dist/src/tools/find-slot.d.ts +12 -0
- package/dist/src/tools/find-slot.d.ts.map +1 -1
- package/dist/src/tools/find-slot.js +6 -0
- package/dist/src/tools/find-slot.js.map +1 -1
- package/dist/src/tools/host-migrate-vm.d.ts +1 -1
- package/dist/src/tools/host-migrate-vm.js +1 -1
- package/dist/src/tools/import-qcow.d.ts +9 -9
- package/dist/src/tools/import-qcow.d.ts.map +1 -1
- package/dist/src/tools/import-qcow.js +7 -7
- package/dist/src/tools/import-qcow.js.map +1 -1
- package/dist/src/tools/index.js +2 -2
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/legacy-clone-plan.d.ts +27 -0
- package/dist/src/tools/legacy-clone-plan.d.ts.map +1 -0
- package/dist/src/tools/legacy-clone-plan.js +62 -0
- package/dist/src/tools/legacy-clone-plan.js.map +1 -0
- package/dist/src/tools/list-hosts.d.ts +1 -1
- package/dist/src/tools/list-hosts.js +1 -1
- package/dist/src/tools/provision-tools.d.ts +8 -8
- package/dist/src/tools/provision-tools.d.ts.map +1 -1
- package/dist/src/tools/provision-tools.js +47 -82
- package/dist/src/tools/provision-tools.js.map +1 -1
- package/dist/src/tools/quick-provision.d.ts +2 -2
- package/dist/src/tools/sandbox-tools.d.ts +6 -6
- package/dist/src/tools/sandbox-tools.d.ts.map +1 -1
- package/dist/src/tools/sandbox-tools.js +3 -3
- package/dist/src/tools/sandbox-tools.js.map +1 -1
- package/dist/src/tools/slot-tools.d.ts +20 -8
- package/dist/src/tools/slot-tools.d.ts.map +1 -1
- package/dist/src/tools/slot-tools.js +4 -0
- package/dist/src/tools/slot-tools.js.map +1 -1
- package/dist/src/types/proxmox.d.ts +1 -0
- package/dist/src/types/proxmox.d.ts.map +1 -1
- package/dist/src/utils/formatters.d.ts.map +1 -1
- package/dist/src/utils/formatters.js +19 -20
- package/dist/src/utils/formatters.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ AI Clients (Claude Desktop / Cursor / Web / AI Agents)
|
|
|
23
23
|
│
|
|
24
24
|
▼
|
|
25
25
|
[MCP Tool Registry]
|
|
26
|
-
├── list_hosts (Proxmox + ESXi capacity, health & 8GB
|
|
26
|
+
├── list_hosts (Proxmox + ESXi capacity, health & resource-derived 8GB unit estimates)
|
|
27
27
|
├── list_inventory (Unified VM fleet inventory with Linear tags)
|
|
28
28
|
├── claim_slot (8GB slot leases with TTL & Linear issue tracking)
|
|
29
29
|
├── release_slot (Release lease + optional automated VM destruction)
|
|
@@ -73,10 +73,9 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
|
|
|
73
73
|
|
|
74
74
|
- **Multi-Hypervisor Fleet Management**: Polymorphic abstraction unifying Proxmox VE clusters (`proxmox-lab`, `proxmox-mini`) and VMware ESXi hosts (`esxi-intel-192-168-123-176`).
|
|
75
75
|
- **Disposable VM Provisioning**: Give `proxmox_quick_provision` one resource size (`memoryMb`, `vcpus`, `diskGb`). Live capacity filters the homogeneous Proxmox pool, then one eligible host is selected with system randomness. Apply repeats the reviewed explicit host, VMID, and operation ID.
|
|
76
|
-
- **
|
|
77
|
-
- `
|
|
78
|
-
-
|
|
79
|
-
- `esxi-intel-192-168-123-176`: Managed candidate slot ranking with **8 concurrent 8GB slots** and datastore space checks.
|
|
76
|
+
- **Resource-based Lease Admission**: There are no fixed per-host or global VM-count quotas. Fresh host health, physical free RAM, VM-image storage, and the requested guest size determine placement. Outstanding unprovisioned claims reserve their size under the claim mutex; backed running VMs are already reflected in physical usage. Unknown, offline, or insufficient resources fail closed.
|
|
77
|
+
- Legacy `slot` tool names and numeric counts remain available. `maxSlots` is the observed lease count plus an estimate of additional standard-size capacity; it never gates admission.
|
|
78
|
+
- ESXi leasing remains explicitly opt-in; platform authorization and protected assets remain separate from resource availability.
|
|
80
79
|
- **Non-Bypassable Safety Guardrails**: Hard protection preventing destructive actions (`destroy`, `stop`, `reboot`) against core infrastructure:
|
|
81
80
|
- Cisco Unified Communications Manager (CUCM 14 / 15 publishers and subscribers)
|
|
82
81
|
- Cisco CUBE Voice Gateways / Cat8000v
|
|
@@ -480,7 +479,7 @@ at `http://<guest-ip>:80/api/xcc/<cube_id>`.
|
|
|
480
479
|
The server registers 7 comprehensive tools conforming to the MCP JSON Schema specification:
|
|
481
480
|
|
|
482
481
|
### 1. `list_hosts`
|
|
483
|
-
Query capacity, health, CPU/RAM/Disk metrics, and 8GB
|
|
482
|
+
Query capacity, health, CPU/RAM/Disk metrics, and resource-derived 8GB unit estimates across Proxmox VE (`proxmox-lab`, `proxmox-mini`) and VMware ESXi (`esxi-intel-192-168-123-176`).
|
|
484
483
|
|
|
485
484
|
```json
|
|
486
485
|
{
|
|
@@ -518,7 +517,7 @@ Lease an 8GB appliance slot on a specified host or randomly across eligible Prox
|
|
|
518
517
|
}
|
|
519
518
|
```
|
|
520
519
|
|
|
521
|
-
|
|
520
|
+
Claims can exceed the former 2/4/6 counts whenever fresh physical resources permit. Pass `slotSizeMb` and `diskGb` for a nonstandard lease size. Provisioning forwards the actual requested memory, vCPU, storage pool and disk requirements, then rechecks resources before public claim creation or cloning. Existing claims keep their identity, issue and TTL; the change does not trigger fleet cleanup.
|
|
522
521
|
|
|
523
522
|
### 4. `release_slot`
|
|
524
523
|
Release an active 8GB slot claim by `claimId`, `tag`, `requester`, or `linearIssue`, with optional automatic destruction of attached test VMs.
|
|
@@ -802,3 +801,5 @@ issuing one.
|
|
|
802
801
|
## License
|
|
803
802
|
|
|
804
803
|
MIT © 2026 [Call Telemetry](https://calltelemetry.com) / Contributors
|
|
804
|
+
|
|
805
|
+
See [resource admission and runtime activation](docs/runbooks/resource-admission.md) for compatibility fields and release verification.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../../src/crd/reconciler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAsB,MAAM,4BAA4B,CAAC;AAGpF,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,eAAe,CAAiD;gBAGtE,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,sBAAsB,EAC1C,QAAQ,CAAC,EAAE,kBAAkB;IAO/B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB;IA+BxD;;OAEG;IACG,SAAS,CAAC,aAAa,EAAE,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../../src/crd/reconciler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAsB,MAAM,4BAA4B,CAAC;AAGpF,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,eAAe,CAAiD;gBAGtE,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,sBAAsB,EAC1C,QAAQ,CAAC,EAAE,kBAAkB;IAO/B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB;IA+BxD;;OAEG;IACG,SAAS,CAAC,aAAa,EAAE,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsK9F;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAItE;;OAEG;IACH,aAAa,IAAI,qBAAqB,EAAE;IAIxC;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAE,MAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwDjG;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAgCrD"}
|
|
@@ -13,8 +13,8 @@ export class ApplianceSlotReconciler {
|
|
|
13
13
|
resolver;
|
|
14
14
|
activeManifests = new Map();
|
|
15
15
|
constructor(slotManager, hypervisorManager, resolver) {
|
|
16
|
-
this.slotManager = slotManager || new SlotManager();
|
|
17
16
|
this.hypervisorManager = hypervisorManager || new MultiHypervisorManager();
|
|
17
|
+
this.slotManager = slotManager || new SlotManager({ hypervisorManager: this.hypervisorManager });
|
|
18
18
|
this.resolver = resolver || credentialResolver;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -99,6 +99,9 @@ export class ApplianceSlotReconciler {
|
|
|
99
99
|
// 2. Claim slot lease through SlotManager
|
|
100
100
|
const claimResult = await this.slotManager.claimSlot({
|
|
101
101
|
host: targetHost,
|
|
102
|
+
slotSizeMb: manifest.spec.resources?.memoryMb ?? 8192,
|
|
103
|
+
cpuCores: manifest.spec.resources?.cores ?? 2,
|
|
104
|
+
diskGb: manifest.spec.resources?.diskGb ?? 10,
|
|
102
105
|
durationMinutes: ttlMinutes,
|
|
103
106
|
label: name,
|
|
104
107
|
linearIssue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../../src/crd/reconciler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQ3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAsB,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGpF,MAAM,OAAO,uBAAuB;IAC1B,WAAW,CAAc;IACzB,iBAAiB,CAAyB;IAC1C,QAAQ,CAAqB;IAC7B,eAAe,GAAuC,IAAI,GAAG,EAAE,CAAC;IAExE,YACE,WAAyB,EACzB,iBAA0C,EAC1C,QAA6B;QAE7B,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../../src/crd/reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/credentials/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EAEjB,cAAc,EAEd,iBAAiB,EACjB,0BAA0B,EAE1B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAcpB,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAChD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAMvF;AAiCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,iBAAiB,GAAG,cAAc,EACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,sBAAsB,CA+CxB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAwB;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAmB;IAC7D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAQtC;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,eAAe;IASvB;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAwLnF;;OAEG;IACH,OAAO,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/credentials/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EAEjB,cAAc,EAEd,iBAAiB,EACjB,0BAA0B,EAE1B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAcpB,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAChD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAMvF;AAiCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,iBAAiB,GAAG,cAAc,EACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,sBAAsB,CA+CxB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAwB;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAmB;IAC7D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAQtC;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,eAAe;IASvB;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAwLnF;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiGhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0F7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+F5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,kBAAkB;CAwB3B;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -160,9 +160,9 @@ export class CredentialResolver {
|
|
|
160
160
|
return this.createMockResult();
|
|
161
161
|
}
|
|
162
162
|
// --- Tier 1: Direct Environment Variables ---
|
|
163
|
-
const directLab = this.extractProxmoxHostConfig("proxmox-lab", "LAB_PROXMOX_", env,
|
|
164
|
-
const directMini = this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINIS_", env,
|
|
165
|
-
this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINI_", env,
|
|
163
|
+
const directLab = this.extractProxmoxHostConfig("proxmox-lab", "LAB_PROXMOX_", env, this.defaultLabProtectedVmids);
|
|
164
|
+
const directMini = this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINIS_", env, this.defaultMiniProtectedVmids) ||
|
|
165
|
+
this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINI_", env, this.defaultMiniProtectedVmids);
|
|
166
166
|
const directEsxi = this.extractEsxiHostConfig(env);
|
|
167
167
|
const directVmCreds = this.extractVmCredentials(env);
|
|
168
168
|
// If all essential direct credentials exist, return Tier 1 (fully real, no mock involved)
|
|
@@ -200,10 +200,10 @@ export class CredentialResolver {
|
|
|
200
200
|
// Merge: Direct environment variables take precedence over Doppler
|
|
201
201
|
const mergedSecrets = { ...dopplerSecrets, ...env };
|
|
202
202
|
const dopplerLab = directLab ||
|
|
203
|
-
this.extractProxmoxHostConfig("proxmox-lab", "LAB_PROXMOX_", mergedSecrets,
|
|
203
|
+
this.extractProxmoxHostConfig("proxmox-lab", "LAB_PROXMOX_", mergedSecrets, this.defaultLabProtectedVmids);
|
|
204
204
|
const dopplerMini = directMini ||
|
|
205
|
-
this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINIS_", mergedSecrets,
|
|
206
|
-
this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINI_", mergedSecrets,
|
|
205
|
+
this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINIS_", mergedSecrets, this.defaultMiniProtectedVmids) ||
|
|
206
|
+
this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINI_", mergedSecrets, this.defaultMiniProtectedVmids);
|
|
207
207
|
const dopplerEsxi = directEsxi || this.extractEsxiHostConfig(mergedSecrets);
|
|
208
208
|
const dopplerVmCreds = directVmCreds || this.extractVmCredentials(mergedSecrets);
|
|
209
209
|
if (dopplerLab || dopplerMini || dopplerEsxi) {
|
|
@@ -223,8 +223,8 @@ export class CredentialResolver {
|
|
|
223
223
|
.join(", ") || "none"}] but is missing [${missing.join(", ")}].`, "partial_credentials", ALLOW_MOCK_REMEDIATION, missing);
|
|
224
224
|
}
|
|
225
225
|
const proxmoxHosts = [];
|
|
226
|
-
proxmoxHosts.push(dopplerLab || this.createMockProxmoxHost("proxmox-lab",
|
|
227
|
-
proxmoxHosts.push(dopplerMini || this.createMockProxmoxHost("proxmox-mini",
|
|
226
|
+
proxmoxHosts.push(dopplerLab || this.createMockProxmoxHost("proxmox-lab", this.defaultLabProtectedVmids));
|
|
227
|
+
proxmoxHosts.push(dopplerMini || this.createMockProxmoxHost("proxmox-mini", this.defaultMiniProtectedVmids));
|
|
228
228
|
const esxiHosts = [];
|
|
229
229
|
esxiHosts.push(dopplerEsxi || this.createMockEsxiHost());
|
|
230
230
|
const vmCredentials = dopplerVmCreds || this.createMockVmCredentials();
|
|
@@ -265,8 +265,8 @@ export class CredentialResolver {
|
|
|
265
265
|
}
|
|
266
266
|
logger.info("Engaging partial direct environment resolution with mock fallback for missing targets (explicitly permitted).");
|
|
267
267
|
const proxmoxHosts = [];
|
|
268
|
-
proxmoxHosts.push(directLab || this.createMockProxmoxHost("proxmox-lab",
|
|
269
|
-
proxmoxHosts.push(directMini || this.createMockProxmoxHost("proxmox-mini",
|
|
268
|
+
proxmoxHosts.push(directLab || this.createMockProxmoxHost("proxmox-lab", this.defaultLabProtectedVmids));
|
|
269
|
+
proxmoxHosts.push(directMini || this.createMockProxmoxHost("proxmox-mini", this.defaultMiniProtectedVmids));
|
|
270
270
|
const esxiHosts = [];
|
|
271
271
|
esxiHosts.push(directEsxi || this.createMockEsxiHost());
|
|
272
272
|
const vmCredentials = directVmCreds || this.createMockVmCredentials();
|
|
@@ -290,7 +290,7 @@ export class CredentialResolver {
|
|
|
290
290
|
/**
|
|
291
291
|
* Extract Proxmox host configuration from key-value record.
|
|
292
292
|
*/
|
|
293
|
-
extractProxmoxHostConfig(id, prefix, record,
|
|
293
|
+
extractProxmoxHostConfig(id, prefix, record, protectedVmids) {
|
|
294
294
|
const rawUrl = record[`${prefix}URL`] || record[`${prefix}BASE_URL`];
|
|
295
295
|
const rawHost = record[`${prefix}HOST`] || record[`${prefix}IP`];
|
|
296
296
|
let baseUrl = "";
|
|
@@ -364,7 +364,6 @@ export class CredentialResolver {
|
|
|
364
364
|
baseUrl,
|
|
365
365
|
nodeName,
|
|
366
366
|
auth,
|
|
367
|
-
maxSlots,
|
|
368
367
|
slotSizeMb: 8192,
|
|
369
368
|
allowInsecureTls,
|
|
370
369
|
sslFingerprint: sslFingerprint ? sslFingerprint.trim() : undefined,
|
|
@@ -538,8 +537,8 @@ export class CredentialResolver {
|
|
|
538
537
|
}
|
|
539
538
|
createMockResult() {
|
|
540
539
|
const proxmoxHosts = [
|
|
541
|
-
this.createMockProxmoxHost("proxmox-lab",
|
|
542
|
-
this.createMockProxmoxHost("proxmox-mini",
|
|
540
|
+
this.createMockProxmoxHost("proxmox-lab", this.defaultLabProtectedVmids),
|
|
541
|
+
this.createMockProxmoxHost("proxmox-mini", this.defaultMiniProtectedVmids)
|
|
543
542
|
];
|
|
544
543
|
const esxiHosts = [this.createMockEsxiHost()];
|
|
545
544
|
const vmCredentials = this.createMockVmCredentials();
|
|
@@ -551,7 +550,7 @@ export class CredentialResolver {
|
|
|
551
550
|
vmCredentials
|
|
552
551
|
};
|
|
553
552
|
}
|
|
554
|
-
createMockProxmoxHost(id,
|
|
553
|
+
createMockProxmoxHost(id, protectedVmids) {
|
|
555
554
|
const isLab = id === "proxmox-lab";
|
|
556
555
|
return {
|
|
557
556
|
id,
|
|
@@ -563,7 +562,6 @@ export class CredentialResolver {
|
|
|
563
562
|
tokenId: `root@pam!mock_${id.replace("-", "_")}`,
|
|
564
563
|
tokenSecret: "00000000-0000-0000-0000-000000000000"
|
|
565
564
|
},
|
|
566
|
-
maxSlots,
|
|
567
565
|
slotSizeMb: 8192,
|
|
568
566
|
allowInsecureTls: true,
|
|
569
567
|
protectedVmids,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,8 @@ export interface ProxmoxHostConfig {
|
|
|
20
20
|
baseUrl: string;
|
|
21
21
|
nodeName: string;
|
|
22
22
|
auth: ProxmoxAuth;
|
|
23
|
-
|
|
23
|
+
/** @deprecated Ignored. Capacity comes from fresh physical resources. */
|
|
24
|
+
maxSlots?: number;
|
|
24
25
|
slotSizeMb: number;
|
|
25
26
|
allowInsecureTls: boolean;
|
|
26
27
|
sslFingerprint?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/credentials/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/credentials/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IHypervisorDriver, UnifiedVmRecord } from "./types.js";
|
|
2
|
+
/** Read the inherited virtual disks; legacy cloning does not resize them. */
|
|
3
|
+
export declare function inheritedCloneDiskGb(driver: IHypervisorDriver, source: UnifiedVmRecord): Promise<number>;
|
|
4
|
+
export declare function assertInheritedDisk(actualGb: number, requestedGb?: number): number;
|
|
5
|
+
//# sourceMappingURL=clone-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone-size.d.ts","sourceRoot":"","sources":["../../../src/hypervisors/clone-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE,6EAA6E;AAC7E,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAe9G;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Read the inherited virtual disks; legacy cloning does not resize them. */
|
|
2
|
+
export async function inheritedCloneDiskGb(driver, source) {
|
|
3
|
+
let bytes;
|
|
4
|
+
if (driver.getVmStorage) {
|
|
5
|
+
const report = await driver.getVmStorage(source.id);
|
|
6
|
+
if (String(report.vmId) !== String(source.id) || report.disks.length === 0) {
|
|
7
|
+
throw new Error("Fresh source disk identity/capacity is unavailable.");
|
|
8
|
+
}
|
|
9
|
+
const sizes = report.disks.map((disk) => disk.sizeBytes ?? (disk.sizeGb !== undefined ? disk.sizeGb * 1024 ** 3 : NaN));
|
|
10
|
+
if (sizes.some((size) => !Number.isFinite(size) || size <= 0))
|
|
11
|
+
throw new Error("Fresh source disk capacity is incomplete.");
|
|
12
|
+
bytes = sizes.reduce((sum, size) => sum + size, 0);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
bytes = source.diskBytes ?? NaN;
|
|
16
|
+
}
|
|
17
|
+
if (!Number.isFinite(bytes) || bytes <= 0)
|
|
18
|
+
throw new Error("Fresh source disk capacity is unavailable.");
|
|
19
|
+
return bytes / 1024 ** 3;
|
|
20
|
+
}
|
|
21
|
+
export function assertInheritedDisk(actualGb, requestedGb) {
|
|
22
|
+
if (requestedGb !== undefined && (!Number.isFinite(requestedGb) || requestedGb !== actualGb)) {
|
|
23
|
+
throw new Error(`Legacy clone cannot resize disks: requested ${requestedGb} GiB, fresh source has ${actualGb} GiB. Use canonical provisioning for disk changes.`);
|
|
24
|
+
}
|
|
25
|
+
return actualGb;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=clone-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone-size.js","sourceRoot":"","sources":["../../../src/hypervisors/clone-size.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAyB,EAAE,MAAuB;IAC3F,IAAI,KAAa,CAAC;IAClB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxH,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC5H,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACzG,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,WAAoB;IACxE,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,+CAA+C,WAAW,0BAA0B,QAAQ,oDAAoD,CAAC,CAAC;IACpK,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hypervisors/esxi/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAgC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hypervisors/esxi/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,22 @@
|
|
|
4
4
|
* Supports govc CLI execution and VMware REST/SOAP API fallback.
|
|
5
5
|
*/
|
|
6
6
|
import { defaultSafetyGuardrailEngine } from "../../guardrails/safety.js";
|
|
7
|
+
import { inheritedCloneDiskGb, assertInheritedDisk } from "../clone-size.js";
|
|
7
8
|
import { logger } from "../../utils/logger.js";
|
|
8
9
|
import { execFile } from "node:child_process";
|
|
9
10
|
import { promisify } from "node:util";
|
|
10
11
|
const execFileAsync = promisify(execFile);
|
|
12
|
+
function virtualDiskBytes(devices) {
|
|
13
|
+
if (!Array.isArray(devices))
|
|
14
|
+
return undefined;
|
|
15
|
+
const capacities = devices.map((device) => device?.CapacityInBytes ?? device?.capacityInBytes
|
|
16
|
+
?? ((device?.CapacityInKB ?? device?.capacityInKB) !== undefined
|
|
17
|
+
? (device.CapacityInKB ?? device.capacityInKB) * 1024 : undefined)).filter((value) => value !== undefined);
|
|
18
|
+
if (!capacities.length || capacities.some((value) => !Number.isFinite(value) || value <= 0))
|
|
19
|
+
return undefined;
|
|
20
|
+
const total = capacities.reduce((sum, value) => sum + value, 0);
|
|
21
|
+
return Number.isFinite(total) ? total : undefined;
|
|
22
|
+
}
|
|
11
23
|
/**
|
|
12
24
|
* Real govc execution client
|
|
13
25
|
*/
|
|
@@ -170,8 +182,9 @@ export class GovcClient {
|
|
|
170
182
|
name,
|
|
171
183
|
path: config?.VmPathName || config?.vmPathName || name,
|
|
172
184
|
powerState,
|
|
173
|
-
memoryMb: config?.MemorySizeMB || config?.memorySizeMB ||
|
|
174
|
-
|
|
185
|
+
memoryMb: config?.MemorySizeMB || config?.memorySizeMB || 0,
|
|
186
|
+
diskBytes: virtualDiskBytes(config?.Hardware?.Device ?? config?.hardware?.device),
|
|
187
|
+
cpuCores: config?.NumCpu || config?.numCpu || 0,
|
|
175
188
|
ipAddress: guest?.IpAddress || guest?.ipAddress,
|
|
176
189
|
isTemplate: Boolean(config?.Template || config?.template),
|
|
177
190
|
annotation: config?.Annotation || config?.annotation
|
|
@@ -189,7 +202,8 @@ export class GovcClient {
|
|
|
189
202
|
"name",
|
|
190
203
|
"runtime.powerState",
|
|
191
204
|
"summary.config",
|
|
192
|
-
"summary.guest"
|
|
205
|
+
"summary.guest",
|
|
206
|
+
"config.hardware.device"
|
|
193
207
|
]);
|
|
194
208
|
if (stdout.includes('"VirtualMachines"')) {
|
|
195
209
|
return mapVmInfo(stdout);
|
|
@@ -238,8 +252,9 @@ export class GovcClient {
|
|
|
238
252
|
name,
|
|
239
253
|
path: summaryConfig.vmPathName || name,
|
|
240
254
|
powerState,
|
|
241
|
-
memoryMb: summaryConfig.memorySizeMB ||
|
|
242
|
-
|
|
255
|
+
memoryMb: summaryConfig.memorySizeMB || 0,
|
|
256
|
+
diskBytes: virtualDiskBytes(getVal("config.hardware.device")),
|
|
257
|
+
cpuCores: summaryConfig.numCpu || 0,
|
|
243
258
|
ipAddress: summaryGuest.ipAddress,
|
|
244
259
|
isTemplate: Boolean(summaryConfig.template),
|
|
245
260
|
annotation: summaryConfig.annotation
|
|
@@ -270,7 +285,17 @@ export class GovcClient {
|
|
|
270
285
|
return vms.find((v) => v.name.toLowerCase() === query) || null;
|
|
271
286
|
}
|
|
272
287
|
async cloneVm(sourceVmName, targetVmName, options = {}) {
|
|
273
|
-
const args = ["vm.clone", "-vm", sourceVmName];
|
|
288
|
+
const args = ["vm.clone", "-vm", sourceVmName, "-on=false"];
|
|
289
|
+
if (options.memoryMb !== undefined) {
|
|
290
|
+
if (!Number.isSafeInteger(options.memoryMb) || options.memoryMb <= 0)
|
|
291
|
+
throw new Error("Guest RAM must be positive integral MiB.");
|
|
292
|
+
args.push("-m", String(options.memoryMb));
|
|
293
|
+
}
|
|
294
|
+
if (options.cpuCores !== undefined) {
|
|
295
|
+
if (!Number.isSafeInteger(options.cpuCores) || options.cpuCores <= 0)
|
|
296
|
+
throw new Error("Guest vCPUs must be a positive integer.");
|
|
297
|
+
args.push("-c", String(options.cpuCores));
|
|
298
|
+
}
|
|
274
299
|
if (options.datastore || this.hostConfig.datastore) {
|
|
275
300
|
args.push("-ds", options.datastore || this.hostConfig.datastore || "datastore1");
|
|
276
301
|
}
|
|
@@ -406,6 +431,7 @@ export class EsxiDriver {
|
|
|
406
431
|
throw new Error(`Source VM/template '${params.sourceVmIdOrName}' not found on ESXi host '${this.hostName}'.`);
|
|
407
432
|
}
|
|
408
433
|
const targetVmName = params.newVmName;
|
|
434
|
+
assertInheritedDisk(await inheritedCloneDiskGb(this, sourceVm), params.diskGb);
|
|
409
435
|
const cloneRes = await this.client.cloneVm(sourceVm.name, targetVmName, {
|
|
410
436
|
memoryMb: params.memoryBytes ? Math.round(params.memoryBytes / (1024 * 1024)) : undefined,
|
|
411
437
|
cpuCores: params.cpuCores,
|
|
@@ -562,6 +588,7 @@ export class EsxiDriver {
|
|
|
562
588
|
status,
|
|
563
589
|
cpuCores: raw.cpuCores,
|
|
564
590
|
memoryBytes: raw.memoryMb * 1024 * 1024,
|
|
591
|
+
diskBytes: raw.diskBytes,
|
|
565
592
|
ipAddresses,
|
|
566
593
|
isTemplate: raw.isTemplate,
|
|
567
594
|
isProtected,
|