@calltelemetry/ct-lab-mcp 0.8.96 → 0.8.97
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 +28 -33
- package/dist/bin/ct-lab-mcp.js +3 -6
- package/dist/src/canonical/bridge.d.ts +5 -0
- package/dist/src/canonical/bridge.d.ts.map +1 -1
- package/dist/src/canonical/bridge.js +17 -14
- package/dist/src/canonical/bridge.js.map +1 -1
- package/dist/src/credentials/resolver.d.ts +2 -3
- package/dist/src/credentials/resolver.d.ts.map +1 -1
- package/dist/src/credentials/resolver.js +7 -121
- package/dist/src/credentials/resolver.js.map +1 -1
- package/dist/src/generated-version.d.ts +1 -1
- package/dist/src/generated-version.js +1 -1
- package/dist/src/hypervisors/esxi/retired.d.ts +7 -7
- package/dist/src/hypervisors/esxi/retired.d.ts.map +1 -1
- package/dist/src/hypervisors/esxi/retired.js +8 -8
- package/dist/src/hypervisors/esxi/retired.js.map +1 -1
- package/dist/src/hypervisors/index.d.ts +0 -2
- package/dist/src/hypervisors/index.d.ts.map +1 -1
- package/dist/src/hypervisors/index.js +0 -2
- package/dist/src/hypervisors/index.js.map +1 -1
- package/dist/src/hypervisors/manager.d.ts.map +1 -1
- package/dist/src/hypervisors/manager.js +14 -31
- package/dist/src/hypervisors/manager.js.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +3 -7
- package/dist/src/server.js.map +1 -1
- package/dist/src/slot/manager.d.ts +2 -1
- package/dist/src/slot/manager.d.ts.map +1 -1
- package/dist/src/slot/manager.js +6 -19
- package/dist/src/slot/manager.js.map +1 -1
- package/dist/src/tools/claimed-import-qcow.d.ts +2 -2
- package/dist/src/tools/credential-status.d.ts +2 -2
- package/dist/src/tools/credential-status.d.ts.map +1 -1
- package/dist/src/tools/credential-status.js +3 -3
- package/dist/src/tools/credential-status.js.map +1 -1
- package/dist/src/tools/cube-provision.d.ts +2 -2
- package/dist/src/tools/find-slot.d.ts +2 -2
- package/dist/src/tools/import-qcow.d.ts +6 -6
- package/dist/src/tools/list-hosts.d.ts +1 -1
- package/dist/src/tools/list-hosts.d.ts.map +1 -1
- package/dist/src/tools/list-hosts.js +2 -10
- package/dist/src/tools/list-hosts.js.map +1 -1
- package/dist/src/tools/list-inventory.js +2 -2
- package/dist/src/tools/list-inventory.js.map +1 -1
- package/dist/src/tools/provision-tools.d.ts +8 -8
- package/dist/src/tools/quick-provision.d.ts +2 -2
- package/dist/src/tools/storage-tools.d.ts.map +1 -1
- package/dist/src/tools/storage-tools.js +2 -3
- package/dist/src/tools/storage-tools.js.map +1 -1
- package/dist/src/transports/sse.d.ts.map +1 -1
- package/dist/src/transports/sse.js +1 -1
- package/dist/src/transports/sse.js.map +1 -1
- package/dist/src/worker.d.ts +0 -2
- package/dist/src/worker.d.ts.map +1 -1
- package/dist/src/worker.js +0 -1
- package/dist/src/worker.js.map +1 -1
- package/package.json +2 -4
- package/dist/src/hypervisors/esxi/client.d.ts +0 -105
- package/dist/src/hypervisors/esxi/client.d.ts.map +0 -1
- package/dist/src/hypervisors/esxi/client.js +0 -607
- package/dist/src/hypervisors/esxi/client.js.map +0 -1
- package/dist/src/hypervisors/esxi/mock.d.ts +0 -46
- package/dist/src/hypervisors/esxi/mock.d.ts.map +0 -1
- package/dist/src/hypervisors/esxi/mock.js +0 -208
- package/dist/src/hypervisors/esxi/mock.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# @calltelemetry/ct-lab-mcp
|
|
2
2
|
|
|
3
|
-
> **Model Context Protocol (MCP) Server for Unified Call Telemetry Lab, Fleet, and Appliance Management across Proxmox VE
|
|
3
|
+
> **Model Context Protocol (MCP) Server for Unified Call Telemetry Lab, Fleet, and Appliance Management across Proxmox VE (ESXi is retired)**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@calltelemetry/ct-lab-mcp)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://nodejs.org/)
|
|
9
9
|
|
|
10
|
-
`@calltelemetry/ct-lab-mcp` is the single public MCP façade for Call Telemetry lab operations. It exposes high-level
|
|
10
|
+
`@calltelemetry/ct-lab-mcp` is the single public MCP façade for Call Telemetry lab operations. It exposes high-level hypervisor management (Proxmox VE only; ESXi was retired 2026-10-15), disposable VM workflows, and secure appliance diagnostics while delegating canonical asset identity, lease ownership, and release-line policy to the private `lab-inventory` CLI supplied by `ct-meta`.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -29,7 +29,7 @@ AI Clients (Claude Desktop / Cursor / Web / AI Agents)
|
|
|
29
29
|
├── release_slot (DEPRECATED alias -> delete_appliance_claim)
|
|
30
30
|
├── find_slot / list_slots (DEPRECATED aliases -> list_hosts / list_appliance_claims)
|
|
31
31
|
├── purge_slots (RETIRED: explicit SLOT_VERB_RETIRED error; use list_expired_vms / cleanup_expired_vms)
|
|
32
|
-
├── provision_vm (Disposable VM provisioning on Proxmox
|
|
32
|
+
├── provision_vm (Disposable VM provisioning on Proxmox)
|
|
33
33
|
├── proxmox_quick_provision (Size-driven Proxmox fleet plan/apply; host=auto ranks by free RAM then disk)
|
|
34
34
|
├── pin_pool_slots (RETIRED: explicit SLOT_VERB_RETIRED error; pass webImage to proxmox_quick_provision)
|
|
35
35
|
├── vm_action (Power lifecycle with non-bypassable safety guardrails)
|
|
@@ -50,15 +50,15 @@ AI Clients (Claude Desktop / Cursor / Web / AI Agents)
|
|
|
50
50
|
┌───────────────┼───────────────┬───────────────────┐
|
|
51
51
|
▼ ▼ ▼ ▼
|
|
52
52
|
[MultiHypervisor] [Slot Engine] [Safety Guardrails] [Appliance SSH]
|
|
53
|
-
|
|
54
|
-
│ (2x8GB
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
└──
|
|
53
|
+
└── Proxmox VE ├── ProxmoxLab ├── Proxmox fixtures ├── ssh2 port 2222
|
|
54
|
+
(lab, mini, │ (2x8GB max) │ (100-104, 9000s) ├── cli.sh / db vacuum
|
|
55
|
+
ibm64) ├── ProxmoxMini └── CUCM, CUBE, ├── migrate / logs
|
|
56
|
+
│ (4x8GB max) Runners, K8s └── Redaction Engine
|
|
57
|
+
└── ProxmoxIbm64
|
|
58
58
|
│
|
|
59
59
|
▼
|
|
60
60
|
[Lab Credential Resolver]
|
|
61
|
-
├── Tier 1: Process Environment (LAB_PROXMOX_*,
|
|
61
|
+
├── Tier 1: Process Environment (LAB_PROXMOX_*, LAB_VM_*)
|
|
62
62
|
├── Tier 2: Doppler REST API v3 (DOPPLER_TOKEN)
|
|
63
63
|
└── Tier 3: In-Memory Mock Fallback / Offline Dev
|
|
64
64
|
```
|
|
@@ -73,13 +73,13 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
|
|
|
73
73
|
|
|
74
74
|
## Key Features
|
|
75
75
|
|
|
76
|
-
- **Multi-Hypervisor Fleet Management**: Polymorphic abstraction
|
|
76
|
+
- **Multi-Hypervisor Fleet Management**: Polymorphic abstraction over the Proxmox VE hosts (`proxmox-lab`, `proxmox-mini`, `proxmox-ibm64`). **ESXi is retired (operator decision 2026-10-15)**: no ESXi host is catalogued, registered, probed or polled; `GOVC_*`, `ALLOW_ESXI_SLOTS` and `ESXI_SCAN` are ignored; the `esxi-intel-192-168-123-176` id and `esxi` provider/hypervisor selectors are refused (canonical bridge, `list_hosts`, `list_inventory`) without contacting anything; the image ships no `govc`.
|
|
77
77
|
- **Disposable VM Provisioning**: Give `proxmox_quick_provision` one resource size (`memoryMb`, `vcpus`, `diskGb`). Live capacity filters the homogeneous Proxmox pool, then the eligible host with the most free RAM (then the most free disk headroom, then host id) is selected; a plan with `hostAssetId: auto` resolves it from `host capacity` and pins it in the reviewed plan (`placement` in the result). If capacity cannot be read the canonical CLI keeps resolving `auto`. Apply repeats the reviewed explicit host, VMID, and operation ID.
|
|
78
78
|
- **Thin-only guest disks (REL-1588, "never thick disks")**: Every disk `provision_vm`, `auto_provision_vm`, `proxmox_quick_provision`, `proxmox_import_qcow`, `claimed_import_qcow`, `host_migrate_vm` and `sandbox_clone` creates, clones, migrates or imports on Proxmox must be on thin storage: `lvmthin` (the `local-lvm` pool on both lab hosts), or a `zfspool` proven `sparse`. Anything else (`lvm`, `dir`, `nfs`, `iscsi`, unknown) is refused with the stable error code `THICK_STORAGE_REFUSED` before any claim, journal, clone, import or other Proxmox change. The storage type is read through the same `host capacity` path as `list_storage`; if it cannot be determined the request fails closed. An omitted `storage` is checked against the default pool (`local-lvm`). `importStorage` (the `dir` pool that only stages a downloaded image) is not a guest-disk target and is not restricted. This server never builds Proxmox disk options itself, so `discard=on` is owned by the canonical transports and templates.
|
|
79
79
|
- **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.
|
|
80
80
|
- Slots are retired (slot retirement ADR (REL-1746)); lab capacity is pure cluster capacity. `find_slot`, `claim_slot`, `release_slot` and `list_slots` remain only as deprecated aliases: they return their real result plus `deprecated: true` and the replacement (`list_hosts`, `create_appliance_claim`, `delete_appliance_claim`, `list_appliance_claims`). `purge_slots` and `pin_pool_slots` have no capacity equivalent and return an explicit `SLOT_VERB_RETIRED` error (not an internal failure) naming the replacement. `maxSlots`, `slot_limit` and `availableSlots` stay as deprecated numeric estimates and never gate admission.
|
|
81
|
-
- Host selection for provisioning ranks eligible Proxmox hosts by live free RAM, then free disk headroom (no random spread and no "Mini first" tier)
|
|
82
|
-
-
|
|
81
|
+
- Host selection for provisioning ranks eligible Proxmox hosts by live free RAM, then free disk headroom (no random spread and no "Mini first" tier). A test-only `placementSeed` keeps its reproducible selection. `ferrum_fleet_metrics` reports free RAM/CPU/disk as the authoritative capacity and keeps `slotFloor`/`slotHardMax` as deprecated numbers.
|
|
82
|
+
- Platform authorization and protected assets remain separate from resource availability.
|
|
83
83
|
- **Non-Bypassable Safety Guardrails**: Hard protection preventing destructive actions (`destroy`, `stop`, `reboot`) against core infrastructure:
|
|
84
84
|
- Cisco Unified Communications Manager (CUCM 14 / 15 publishers and subscribers)
|
|
85
85
|
- Cisco CUBE Voice Gateways / Cat8000v
|
|
@@ -88,11 +88,11 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
|
|
|
88
88
|
- VM Templates (VMIDs `9000`–`9999` or template flags)
|
|
89
89
|
- SPA-1103 on minis VMID `182`, including cleanup of expired or untracked rows
|
|
90
90
|
- **Physical Maintenance Shutdown**: `host_maintenance_shutdown` accepts one
|
|
91
|
-
exact canonical Proxmox
|
|
91
|
+
exact canonical Proxmox host. It plans by default; apply requires the
|
|
92
92
|
reviewed plan digest and exact host confirmation, preflights credentials,
|
|
93
93
|
gracefully drains catalog-matched unclaimed guests, shuts CUCM subscribers
|
|
94
94
|
before publishers, and refuses active claims, partial discovery, identity
|
|
95
|
-
drift, clustered Proxmox
|
|
95
|
+
drift, or clustered Proxmox. Force host
|
|
96
96
|
power-off is not implemented.
|
|
97
97
|
- **Remote Appliance CLI Control**: Mediated execution of `cli.sh` commands over SSH (port 2222) for status inspection, health diagnostics, Ecto migrations, table vacuums, and container logs.
|
|
98
98
|
- **Leased Remote Development**: `lab_dev` is a canonical-only façade for the `ct-local-dev-v1` profile. It supports strict `doctor`, `plan`, `prepare`, `start`, `status`, `sync`, `stop`, and `cleanup` actions bound to one asset, lease, Linear issue, operation ID, and reviewed receipt chain. It accepts no guest commands, remote paths, or mock fallback.
|
|
@@ -108,7 +108,7 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
|
|
|
108
108
|
- **Dynamic Secret Redaction**: Real-time masking prevents passwords, Doppler API tokens, and private keys from leaking into MCP responses or stderr logs.
|
|
109
109
|
- **Dual Transports**: Clean standard I/O transport (`stdio`) and Express HTTP/SSE transport (`sse`) with `/health`, `/sse`, and `/messages` endpoints.
|
|
110
110
|
- **3-Tier Credential Resolution**:
|
|
111
|
-
1. *Tier 1*: Direct Environment Variables (`LAB_PROXMOX_*`, `LAB_VM_CREDENTIALS_*`; ESXi `GOVC_*` is
|
|
111
|
+
1. *Tier 1*: Direct Environment Variables (`LAB_PROXMOX_*`, `LAB_VM_CREDENTIALS_*`; ESXi `GOVC_*` is ignored)
|
|
112
112
|
2. *Tier 2*: Doppler Secrets REST API v3 (`DOPPLER_TOKEN`)
|
|
113
113
|
3. *Tier 3*: In-Memory Mock Hypervisor & Appliance Fallback (for offline test suites)
|
|
114
114
|
|
|
@@ -218,8 +218,8 @@ its rows by exact host or hypervisor without creating another inventory. Exact
|
|
|
218
218
|
host reads invoke `vm inventory --host-asset-id`, hypervisor reads invoke
|
|
219
219
|
`vm inventory --hypervisor`, and only all-scope reads invoke
|
|
220
220
|
`vm inventory --all`.
|
|
221
|
-
Warnings are preserved
|
|
222
|
-
|
|
221
|
+
Warnings are preserved. An unqualified read is scoped to Proxmox
|
|
222
|
+
(`--hypervisor proxmox`); ESXi is retired and is never queried. Status, template, text, and tag projection remains
|
|
223
223
|
unsupported until those fields have an authoritative canonical CLI contract.
|
|
224
224
|
|
|
225
225
|
`list_storage` delegates to `lab-inventory host capacity --asset-id` once per
|
|
@@ -230,8 +230,6 @@ warnings; an exact-host failure or all-host failure remains fail-closed. The
|
|
|
230
230
|
canonical CLI does not currently prove individual ISO, VM-disk, or backup
|
|
231
231
|
volume contents, so `includeContent: true` returns
|
|
232
232
|
`CANONICAL_DETAIL_UNSUPPORTED` without consulting legacy Node credentials.
|
|
233
|
-
ESXi datastore `enabled`, `shared`, and content-capability fields are returned
|
|
234
|
-
as `null` because the current canonical capacity contract does not expose them.
|
|
235
233
|
|
|
236
234
|
`lab_mission` is the bounded façade for `lab-inventory mission run`. It accepts
|
|
237
235
|
an immutable manifest path and canonical SHA-256, plans by default, and requires
|
|
@@ -504,22 +502,22 @@ at `http://<guest-ip>:80/api/xcc/<cube_id>`.
|
|
|
504
502
|
The server registers 7 comprehensive tools conforming to the MCP JSON Schema specification:
|
|
505
503
|
|
|
506
504
|
### 1. `list_hosts`
|
|
507
|
-
Query live free RAM/CPU/disk capacity, health, and deprecated resource-derived 8GB unit estimates across Proxmox VE (`proxmox-lab`, `proxmox-mini`) and
|
|
505
|
+
Query live free RAM/CPU/disk capacity, health, and deprecated resource-derived 8GB unit estimates across Proxmox VE (`proxmox-lab`, `proxmox-mini`, `proxmox-ibm64`). ESXi is retired and is refused.
|
|
508
506
|
|
|
509
507
|
```json
|
|
510
508
|
{
|
|
511
|
-
"host": "all", // "proxmox-lab" | "proxmox-mini" | "
|
|
512
|
-
"hypervisorType": "all", // "proxmox" | "
|
|
509
|
+
"host": "all", // "proxmox-lab" | "proxmox-mini" | "proxmox-ibm64" | "all"
|
|
510
|
+
"hypervisorType": "all", // "proxmox" | "all"
|
|
513
511
|
"refresh": false // boolean: force live hypervisor API poll
|
|
514
512
|
}
|
|
515
513
|
```
|
|
516
514
|
|
|
517
515
|
### 2. `list_inventory`
|
|
518
|
-
Query unified fleet inventory across Proxmox VE
|
|
516
|
+
Query unified fleet inventory across Proxmox VE VMs with power status, IP addresses, VLAN, protected flags, release version, and Linear lease tags.
|
|
519
517
|
|
|
520
518
|
```json
|
|
521
519
|
{
|
|
522
|
-
"hypervisor": "all", // "proxmox" | "
|
|
520
|
+
"hypervisor": "all", // "proxmox" | "all"
|
|
523
521
|
"host": "proxmox-mini", // optional host filter
|
|
524
522
|
"status": "all", // "all" | "running" | "stopped" | "claimed" | "disposable"
|
|
525
523
|
"includeTemplates": false, // boolean (default: false)
|
|
@@ -535,8 +533,8 @@ Claim capacity on a specified host or the capacity-ranked eligible Proxmox host
|
|
|
535
533
|
{
|
|
536
534
|
"tag": "CTUAT-693", // required string: issue tag or session identifier
|
|
537
535
|
"linearIssue": "CTUAT-693", // Linear issue key
|
|
538
|
-
"host": "auto", // "proxmox-lab" | "proxmox-mini" | "
|
|
539
|
-
"hypervisorType": "any", // "proxmox" | "
|
|
536
|
+
"host": "auto", // "proxmox-lab" | "proxmox-mini" | "proxmox-ibm64" | "auto"
|
|
537
|
+
"hypervisorType": "any", // "proxmox" | "any"
|
|
540
538
|
"durationMinutes": 60, // integer (1 - 1440 minutes / 24 hours, default: 60)
|
|
541
539
|
"purpose": "UAT Testing" // optional description
|
|
542
540
|
}
|
|
@@ -568,7 +566,7 @@ an exact `confirmAssetId` to execute the guarded release-and-destroy operation.
|
|
|
568
566
|
```
|
|
569
567
|
|
|
570
568
|
### 5. `provision_vm`
|
|
571
|
-
Provision a new disposable Call Telemetry appliance VM on Proxmox VE
|
|
569
|
+
Provision a new disposable Call Telemetry appliance VM on Proxmox VE from a base template with IP/VLAN networking and auto-attached 8GB slot lease.
|
|
572
570
|
|
|
573
571
|
```json
|
|
574
572
|
{
|
|
@@ -606,7 +604,7 @@ set, `target.vmid`, and `operation_id`. Copy those exact identities into apply;
|
|
|
606
604
|
do not leave `hostAssetId` as `auto` for a mutating call.
|
|
607
605
|
|
|
608
606
|
### 6. `vm_action`
|
|
609
|
-
Execute power lifecycle operations across Proxmox
|
|
607
|
+
Execute power lifecycle operations across Proxmox with non-bypassable guardrails protecting core infrastructure.
|
|
610
608
|
|
|
611
609
|
```json
|
|
612
610
|
{
|
|
@@ -646,10 +644,7 @@ After reviewing an eligible plan, apply the same immutable request:
|
|
|
646
644
|
```
|
|
647
645
|
|
|
648
646
|
Proxmox apply verifies a standalone, fully drained node before requesting the
|
|
649
|
-
supported node shutdown.
|
|
650
|
-
maintenance mode without evacuation, then requests shutdown with `force=false`.
|
|
651
|
-
Both require physical power-on for recovery; ESXi remains in maintenance mode
|
|
652
|
-
until an operator verifies the host and exits it. Start CUCM publishers first,
|
|
647
|
+
supported node shutdown. It requires physical power-on for recovery. Start CUCM publishers first,
|
|
653
648
|
verify replication, then start subscribers.
|
|
654
649
|
|
|
655
650
|
### 7. `appliance_exec`
|
|
@@ -674,7 +669,7 @@ Execute mediated Call Telemetry appliance CLI operations over secure SSH on Port
|
|
|
674
669
|
## Client Configuration
|
|
675
670
|
|
|
676
671
|
Credentials are inherited from the process environment. Do not put a Doppler
|
|
677
|
-
token, Proxmox credential,
|
|
672
|
+
token, Proxmox credential, or appliance password in checked-in
|
|
678
673
|
MCP JSON. A GitHub token authorizes repository fetches only; it is not a
|
|
679
674
|
Doppler token and cannot authenticate a hypervisor.
|
|
680
675
|
|
package/dist/bin/ct-lab-mcp.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Command-line runner supporting Stdio and HTTP/SSE transports,
|
|
6
6
|
* Doppler credential resolution cascade, multi-hypervisor management
|
|
7
|
-
* across Proxmox VE
|
|
7
|
+
* across Proxmox VE, remote appliance CLI control,
|
|
8
8
|
* and graceful lifecycle management.
|
|
9
9
|
*/
|
|
10
10
|
import process from "node:process";
|
|
@@ -79,7 +79,7 @@ export function buildFleetCommand() {
|
|
|
79
79
|
.requiredOption("--vcpus <n>", "Minimum vCPU count")
|
|
80
80
|
.requiredOption("--disk-gb <gb>", "Minimum guest disk in GiB")
|
|
81
81
|
.option("--host-asset-id <id>", "Restrict to a specific host asset ID")
|
|
82
|
-
.option("--hypervisor <type>", "Restrict to proxmox
|
|
82
|
+
.option("--hypervisor <type>", "Restrict to proxmox (ESXi is retired)")
|
|
83
83
|
.option("--format <fmt>", "Output format: json or table", "json")
|
|
84
84
|
.action(async (opts) => {
|
|
85
85
|
const bridge = new CanonicalLabBridge({ required: true });
|
|
@@ -143,11 +143,9 @@ export async function runPurgeDaemonCli(argv = process.argv) {
|
|
|
143
143
|
const hypervisorManager = new MultiHypervisorManager({
|
|
144
144
|
credentials: credentialsResult,
|
|
145
145
|
proxmoxConfigs: credentialsResult?.proxmoxHosts,
|
|
146
|
-
esxiConfigs: credentialsResult?.esxiHosts,
|
|
147
146
|
});
|
|
148
147
|
const slotManager = new SlotManager({
|
|
149
148
|
hypervisorManager,
|
|
150
|
-
includeEsxi: true,
|
|
151
149
|
});
|
|
152
150
|
slotManager.setHypervisorManager(hypervisorManager);
|
|
153
151
|
const controller = new PurgeController({
|
|
@@ -321,7 +319,7 @@ export function buildCli(exitOverride = false) {
|
|
|
321
319
|
const program = new Command();
|
|
322
320
|
program
|
|
323
321
|
.name("ct-lab-mcp")
|
|
324
|
-
.description("Expanded Model Context Protocol (MCP) server for Call Telemetry lab, fleet, and appliance management across Proxmox VE
|
|
322
|
+
.description("Expanded Model Context Protocol (MCP) server for Call Telemetry lab, fleet, and appliance management across Proxmox VE.")
|
|
325
323
|
.version(VERSION, "-v, --version", "Output the current version")
|
|
326
324
|
.helpOption("-h, --help", "Display help for command")
|
|
327
325
|
.option("-t, --transport <type>", "Transport mode: 'stdio' or 'sse'", process.env.CT_LAB_MCP_TRANSPORT || process.env.PROXMOX_MCP_TRANSPORT || "stdio")
|
|
@@ -480,7 +478,6 @@ export async function runCli(argv = process.argv, runOptions = {}) {
|
|
|
480
478
|
credentials: credentialsResult,
|
|
481
479
|
credentialError,
|
|
482
480
|
proxmoxConfigs: hostConfigs,
|
|
483
|
-
esxiConfigs: credentialsResult?.esxiHosts,
|
|
484
481
|
forceMock: effectiveForceMock,
|
|
485
482
|
canonicalBridge,
|
|
486
483
|
plane: effectiveTransport === "sse" ? "local-sse" : "local-stdio",
|
|
@@ -11,6 +11,11 @@ export interface CanonicalLabBridgeOptions {
|
|
|
11
11
|
credentials?: Pick<CredentialResolutionResult, "proxmoxHosts" | "esxiHosts">;
|
|
12
12
|
runner?: (args: string[], options: CanonicalRunOptions) => Promise<CanonicalRunnerResult>;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* ESXi is retired (operator decision 2026-10-15). A canonical command that names the esxi
|
|
16
|
+
* provider or the legacy ESXi host is refused before any process or runner is started.
|
|
17
|
+
*/
|
|
18
|
+
export declare function namesRetiredEsxi(args: string[]): boolean;
|
|
14
19
|
export declare class CanonicalBridgeError extends Error {
|
|
15
20
|
readonly code = "CANONICAL_INVENTORY_UNAVAILABLE";
|
|
16
21
|
constructor(message: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/canonical/bridge.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,0BAA0B,EAG3B,MAAM,yBAAyB,CAAC;AAUjC,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,cAAc,GAAG,WAAW,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC3F;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/canonical/bridge.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,0BAA0B,EAG3B,MAAM,yBAAyB,CAAC;AAUjC,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,cAAc,GAAG,WAAW,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC3F;AA4CD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAKxD;AA+FD,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,qCAAqC;gBAEtC,OAAO,EAAE,MAAM;CAI5B;AAyFD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAiE;IAC9F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAsC;gBAElD,OAAO,GAAE,yBAA8B;IAcnD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,qEAAqE;IACrE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,gBAAgB;IAUlB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuJhF,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2HvE"}
|
|
@@ -26,8 +26,17 @@ function delay(ms) {
|
|
|
26
26
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
27
27
|
}
|
|
28
28
|
const CANONICAL_PROXMOX_HOST_IDS = new Set(["proxmox-lab", "proxmox-mini", "proxmox-minis-lab"]);
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
/**
|
|
30
|
+
* ESXi is retired (operator decision 2026-10-15). A canonical command that names the esxi
|
|
31
|
+
* provider or the legacy ESXi host is refused before any process or runner is started.
|
|
32
|
+
*/
|
|
33
|
+
export function namesRetiredEsxi(args) {
|
|
34
|
+
if (args[0] === "esxi")
|
|
35
|
+
return true;
|
|
36
|
+
const selector = commandValue(args, "--host-asset-id");
|
|
37
|
+
return selector.present && typeof selector.value === "string"
|
|
38
|
+
&& (selector.value === LEGACY_ESXI_HOST_ID || selector.value.toLowerCase().startsWith("esxi"));
|
|
39
|
+
}
|
|
31
40
|
function canonicalHostAlias(hostId) {
|
|
32
41
|
return hostId === "proxmox-mini" ? "proxmox-minis-lab" : hostId;
|
|
33
42
|
}
|
|
@@ -58,26 +67,17 @@ function canonicalCommandScope(args) {
|
|
|
58
67
|
if (hostSelector.duplicate || !hostSelector.value)
|
|
59
68
|
return scope;
|
|
60
69
|
const selectedHost = hostSelector.value;
|
|
61
|
-
const selectedProvider = CANONICAL_PROXMOX_HOST_IDS.has(selectedHost)
|
|
62
|
-
? "proxmox"
|
|
63
|
-
: CANONICAL_ESXI_HOST_IDS.has(selectedHost)
|
|
64
|
-
? "esxi"
|
|
65
|
-
: undefined;
|
|
70
|
+
const selectedProvider = CANONICAL_PROXMOX_HOST_IDS.has(selectedHost) ? "proxmox" : undefined;
|
|
66
71
|
if (!selectedProvider)
|
|
67
72
|
return scope;
|
|
68
73
|
// Provider-specific commands must agree with the explicit host. Generic
|
|
69
74
|
// commands (vm/fleet/etc.) may target either canonical provider.
|
|
70
|
-
if (
|
|
75
|
+
if (args[0] === "proxmox" && args[0] !== selectedProvider) {
|
|
71
76
|
return scope;
|
|
72
77
|
}
|
|
73
78
|
scope.add(canonicalHostAlias(selectedHost));
|
|
74
79
|
return scope;
|
|
75
80
|
}
|
|
76
|
-
// ESXi has one canonical host in this bridge. It is safe to select only
|
|
77
|
-
// for its explicit provider command; every ambiguous/all-provider command
|
|
78
|
-
// remains direct-environment-only rather than widening credential scope.
|
|
79
|
-
if (args[0] === "esxi")
|
|
80
|
-
scope.add(LEGACY_ESXI_HOST_ID);
|
|
81
81
|
return scope;
|
|
82
82
|
}
|
|
83
83
|
function ownedProcessGroupExists(child) {
|
|
@@ -251,7 +251,7 @@ export class CanonicalLabBridge {
|
|
|
251
251
|
if (scope.size === 0)
|
|
252
252
|
return {};
|
|
253
253
|
const selectedId = scope.values().next().value;
|
|
254
|
-
const host = this.credentials.proxmoxHosts.find((candidate) => canonicalHostAlias(candidate.id) === selectedId)
|
|
254
|
+
const host = this.credentials.proxmoxHosts.find((candidate) => canonicalHostAlias(candidate.id) === selectedId);
|
|
255
255
|
return host ? canonicalEnvironmentForHost(host) : {};
|
|
256
256
|
}
|
|
257
257
|
childEnvironment(args) {
|
|
@@ -268,6 +268,9 @@ export class CanonicalLabBridge {
|
|
|
268
268
|
if (!this.isConfigured) {
|
|
269
269
|
throw new CanonicalBridgeError("canonical lab CLI is not configured");
|
|
270
270
|
}
|
|
271
|
+
if (namesRetiredEsxi(args)) {
|
|
272
|
+
throw new CanonicalBridgeError("ESXi is retired (the lab is Proxmox only); the canonical command was not run");
|
|
273
|
+
}
|
|
271
274
|
const command = [
|
|
272
275
|
...(this.inventoryFile ? ["--file", this.inventoryFile] : []),
|
|
273
276
|
...args,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/canonical/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/canonical/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,6 @@ export declare class CredentialResolver {
|
|
|
20
20
|
private readonly defaultLabProtectedVmids;
|
|
21
21
|
private readonly defaultMiniProtectedVmids;
|
|
22
22
|
private readonly defaultIbm64ProtectedVmids;
|
|
23
|
-
private readonly defaultEsxiProtectedVms;
|
|
24
23
|
/**
|
|
25
24
|
* Returns true only when mock mode was EXPLICITLY requested by the caller,
|
|
26
25
|
* either to force it immediately or to permit it as a fallback when real
|
|
@@ -46,7 +45,8 @@ export declare class CredentialResolver {
|
|
|
46
45
|
*/
|
|
47
46
|
private extractProxmoxHostConfig;
|
|
48
47
|
/**
|
|
49
|
-
*
|
|
48
|
+
* ESXi is retired (operator decision 2026-10-15): the lab is Proxmox only. GOVC_*, LAB_ESXI_*
|
|
49
|
+
* and ESXI_* values are ignored, so a stale credential can never register or probe an ESXi host.
|
|
50
50
|
*/
|
|
51
51
|
private extractEsxiHostConfig;
|
|
52
52
|
/**
|
|
@@ -55,7 +55,6 @@ export declare class CredentialResolver {
|
|
|
55
55
|
private extractVmCredentials;
|
|
56
56
|
private createMockResult;
|
|
57
57
|
private createMockProxmoxHost;
|
|
58
|
-
private createMockEsxiHost;
|
|
59
58
|
private createMockVmCredentials;
|
|
60
59
|
private registerAllSecrets;
|
|
61
60
|
}
|
|
@@ -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;AAkCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,iBAAiB,GAAG,cAAc,EACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,sBAAsB,
|
|
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;AAkCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,iBAAiB,GAAG,cAAc,EACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,sBAAsB,CAiCxB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6B;IACtE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAmB;IAE9D;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,eAAe;IASvB;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2MnF;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgHhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+F5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,kBAAkB;CAwB3B;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -92,38 +92,13 @@ export function canonicalEnvironmentForHost(host, env = process.env) {
|
|
|
92
92
|
}
|
|
93
93
|
return projected;
|
|
94
94
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
GOVC_USERNAME: host.username,
|
|
98
|
-
GOVC_PASSWORD: host.password,
|
|
99
|
-
GOVC_INSECURE: host.allowInsecureTls ? "true" : "false",
|
|
100
|
-
// The canonical ESXi reader must not re-enter broad Doppler resolution
|
|
101
|
-
// when this exact host's values were already selected in-process.
|
|
102
|
-
CT_LAB_ESXI_DOPPLER_INJECTED: "1",
|
|
103
|
-
};
|
|
104
|
-
const projected = {};
|
|
105
|
-
for (const [key, value] of Object.entries(values)) {
|
|
106
|
-
if (typeof value !== "string" || value.length === 0)
|
|
107
|
-
continue;
|
|
108
|
-
const selected = directValue(env, key, value);
|
|
109
|
-
if (selected !== undefined)
|
|
110
|
-
projected[key] = selected;
|
|
111
|
-
}
|
|
112
|
-
return projected;
|
|
95
|
+
// ESXi is retired (2026-10-15): no GOVC_* alias is ever projected into a child process.
|
|
96
|
+
return {};
|
|
113
97
|
}
|
|
114
98
|
export class CredentialResolver {
|
|
115
99
|
defaultLabProtectedVmids = [100, 101, 102, 104, 502];
|
|
116
100
|
defaultMiniProtectedVmids = [182, 503];
|
|
117
101
|
defaultIbm64ProtectedVmids = [501];
|
|
118
|
-
defaultEsxiProtectedVms = [
|
|
119
|
-
"cucm-15",
|
|
120
|
-
"cucm-pub",
|
|
121
|
-
"cucm-sub",
|
|
122
|
-
"cube-cat8000v",
|
|
123
|
-
"runner-doks",
|
|
124
|
-
"k8s-master",
|
|
125
|
-
"esxi-template-base"
|
|
126
|
-
];
|
|
127
102
|
/**
|
|
128
103
|
* Returns true only when mock mode was EXPLICITLY requested by the caller,
|
|
129
104
|
* either to force it immediately or to permit it as a fallback when real
|
|
@@ -404,84 +379,11 @@ export class CredentialResolver {
|
|
|
404
379
|
};
|
|
405
380
|
}
|
|
406
381
|
/**
|
|
407
|
-
*
|
|
382
|
+
* ESXi is retired (operator decision 2026-10-15): the lab is Proxmox only. GOVC_*, LAB_ESXI_*
|
|
383
|
+
* and ESXI_* values are ignored, so a stale credential can never register or probe an ESXi host.
|
|
408
384
|
*/
|
|
409
|
-
extractEsxiHostConfig(
|
|
410
|
-
|
|
411
|
-
let rawUrl = record.GOVC_URL ||
|
|
412
|
-
record.LAB_ESXI_URL ||
|
|
413
|
-
record.ESXI_URL ||
|
|
414
|
-
record.LAB_ESXI_HOST ||
|
|
415
|
-
record.ESXI_HOST;
|
|
416
|
-
let username = record.GOVC_USERNAME ||
|
|
417
|
-
record.LAB_ESXI_USERNAME ||
|
|
418
|
-
record.ESXI_USERNAME ||
|
|
419
|
-
record.GOVC_USER ||
|
|
420
|
-
record.LAB_ESXI_USER;
|
|
421
|
-
let password = record.GOVC_PASSWORD ||
|
|
422
|
-
record.LAB_ESXI_PASSWORD ||
|
|
423
|
-
record.ESXI_PASSWORD ||
|
|
424
|
-
record.GOVC_PASS ||
|
|
425
|
-
record.LAB_ESXI_PASS;
|
|
426
|
-
// Support URL embedding credentials: https://user:pass@host/sdk
|
|
427
|
-
if (rawUrl && (!username || !password)) {
|
|
428
|
-
try {
|
|
429
|
-
const parsedUrl = new URL(rawUrl.startsWith("http") ? rawUrl : `https://${rawUrl}`);
|
|
430
|
-
if (parsedUrl.username && !username) {
|
|
431
|
-
username = decodeURIComponent(parsedUrl.username);
|
|
432
|
-
}
|
|
433
|
-
if (parsedUrl.password && !password) {
|
|
434
|
-
password = decodeURIComponent(parsedUrl.password);
|
|
435
|
-
}
|
|
436
|
-
if (parsedUrl.hostname) {
|
|
437
|
-
rawUrl = `${parsedUrl.protocol}//${parsedUrl.host}`;
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
catch {
|
|
441
|
-
// Continue with rawUrl string
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
if (!rawUrl || !username || !password) {
|
|
445
|
-
return null;
|
|
446
|
-
}
|
|
447
|
-
let cleanUrl = rawUrl.trim();
|
|
448
|
-
if (!cleanUrl.startsWith("http://") && !cleanUrl.startsWith("https://")) {
|
|
449
|
-
cleanUrl = `https://${cleanUrl}`;
|
|
450
|
-
}
|
|
451
|
-
const insecureVal = record.GOVC_INSECURE ?? record.LAB_ESXI_INSECURE ?? record.ESXI_INSECURE;
|
|
452
|
-
const allowInsecureTls = insecureVal !== "false" && insecureVal !== "0";
|
|
453
|
-
const datastore = record.GOVC_DATASTORE || record.LAB_ESXI_DATASTORE || "datastore1";
|
|
454
|
-
const resourcePool = record.GOVC_RESOURCE_POOL || record.LAB_ESXI_RESOURCE_POOL;
|
|
455
|
-
const datacenter = record.GOVC_DATACENTER || record.LAB_ESXI_DATACENTER;
|
|
456
|
-
const network = record.GOVC_NETWORK || record.LAB_ESXI_NETWORK || "VM Network";
|
|
457
|
-
const customProtected = record.LAB_ESXI_PROTECTED_VMS || record.GOVC_PROTECTED_VMS;
|
|
458
|
-
let protectedVmNames = this.defaultEsxiProtectedVms;
|
|
459
|
-
if (customProtected) {
|
|
460
|
-
try {
|
|
461
|
-
const parsed = JSON.parse(customProtected);
|
|
462
|
-
if (Array.isArray(parsed)) {
|
|
463
|
-
protectedVmNames = Array.from(new Set([...this.defaultEsxiProtectedVms, ...parsed.map(String)]));
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
catch {
|
|
467
|
-
const parsed = customProtected.split(",").map((s) => s.trim()).filter(Boolean);
|
|
468
|
-
protectedVmNames = Array.from(new Set([...this.defaultEsxiProtectedVms, ...parsed]));
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
return {
|
|
472
|
-
id: "esxi-intel-192-168-123-176",
|
|
473
|
-
name: "VMware ESXi Lab Host (192.168.123.176)",
|
|
474
|
-
url: cleanUrl,
|
|
475
|
-
username: username.trim(),
|
|
476
|
-
password: password.trim(),
|
|
477
|
-
allowInsecureTls,
|
|
478
|
-
datastore,
|
|
479
|
-
resourcePool,
|
|
480
|
-
datacenter,
|
|
481
|
-
network,
|
|
482
|
-
protectedVmNames,
|
|
483
|
-
isMock: false
|
|
484
|
-
};
|
|
385
|
+
extractEsxiHostConfig(_record) {
|
|
386
|
+
return null;
|
|
485
387
|
}
|
|
486
388
|
/**
|
|
487
389
|
* Extract Appliance / VM credentials (LAB_VM_CREDENTIALS_* or LAB_VM_CREDENTIALS JSON/slug).
|
|
@@ -572,7 +474,7 @@ export class CredentialResolver {
|
|
|
572
474
|
this.createMockProxmoxHost("proxmox-lab", this.defaultLabProtectedVmids),
|
|
573
475
|
this.createMockProxmoxHost("proxmox-mini", this.defaultMiniProtectedVmids)
|
|
574
476
|
];
|
|
575
|
-
const esxiHosts = [
|
|
477
|
+
const esxiHosts = [];
|
|
576
478
|
const vmCredentials = this.createMockVmCredentials();
|
|
577
479
|
return {
|
|
578
480
|
tier: "mock_fallback",
|
|
@@ -600,22 +502,6 @@ export class CredentialResolver {
|
|
|
600
502
|
isMock: true
|
|
601
503
|
};
|
|
602
504
|
}
|
|
603
|
-
createMockEsxiHost() {
|
|
604
|
-
return {
|
|
605
|
-
id: "esxi-intel-192-168-123-176",
|
|
606
|
-
name: "VMware ESXi Lab Host (Mock)",
|
|
607
|
-
url: "https://192.168.123.176",
|
|
608
|
-
username: "root",
|
|
609
|
-
password: "mock-esxi-password-000",
|
|
610
|
-
allowInsecureTls: true,
|
|
611
|
-
datastore: "datastore1",
|
|
612
|
-
resourcePool: "Resources",
|
|
613
|
-
datacenter: "ha-datacenter",
|
|
614
|
-
network: "VM Network",
|
|
615
|
-
protectedVmNames: this.defaultEsxiProtectedVms,
|
|
616
|
-
isMock: true
|
|
617
|
-
};
|
|
618
|
-
}
|
|
619
505
|
createMockVmCredentials() {
|
|
620
506
|
return {
|
|
621
507
|
username: "admin",
|