@calltelemetry/ct-lab-mcp 0.8.86 → 0.8.88

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 CHANGED
@@ -94,6 +94,7 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
94
94
  - **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.
95
95
  - **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.
96
96
  - **Physical-slot claim custody**: Proxmox claim creation requires the actual canonical node, explicit VMID and VM name in `ct-lab`, with a finite TTL. A shared Kubernetes Lease mutex serializes the physical host/node/VMID; its durable reservation stays occupied through unknown, partial and retiring outcomes. The source stamps a nonce and effective creation-request hash, then independently reads the original CRD UID before binding. Whole effective immutable CRD fields and creation labels are rehashed on bind, retry and deletion; only the declared lifecycle fields and stale label can change. A matching name alone grants no custody.
97
+ - **One configured Kubernetes claim backend**: ApplianceClaim CRUD and physical-slot Lease operations share one backend resolver. Local stdio deployments must set an absolute `LAB_CLAIM_KUBECONFIG`, the exact `LAB_CLAIM_K8S_CONTEXT`, and an HTTPS-origin `LAB_CLAIM_K8S_SERVER`; the selected kubeconfig is validated against that server before a request. In-cluster deployments must set the context/server and provide the service-account token and CA for that same cluster. Cross-cluster deployments use the explicit kubeconfig path. The process never falls back to `KUBECONFIG`, `~/.kube/config`, or an embedded server, and a missing or mismatched binding is refused before claim or reservation effects. The Flux-managed consumer manifest `ct-infrastructure/clusters/doks-nyc1/apps/ct-lab/deploy-ct-lab-mcp.yaml` is a companion rollout change: the image-roll workflow refuses to update it until all three backend variables are present, and the kubeconfig path must be mounted from the selected cluster's protected configuration.
97
98
  - **Original UID deletion**: `delete_appliance_claim` requires `expectedUid` from the independently observed original claim. It sends UID/resourceVersion `DeleteOptions` preconditions and leaves the physical reservation retiring. The qualified operator/controller must independently prove original guest, owned-volume and original-UID absence before terminal release; an error or expiry-looking record never permits clearing protection.
98
99
  - **Guarded image import**: `claimed_import_qcow` creates a bare claim, then invokes the canonical `vm provision --source published-qcow` lifecycle. Its actual default bridge keeps host CPU semantics; portable first-power qualification uses the separate explicit canonical source route. Returned, thrown and uncertain import errors retain both claim and reservation protection and preserve diagnostics. This path requires the qualified controller and operator successors; a source pin alone does not establish deployed readiness.
99
100
  - **Legacy SDK effects**: Direct SDK guest creation/clone/power/config/destruction, unguarded script guest writes and generic guest SSH authentication/commands are unavailable without the implemented canonical lifecycle. No caller flag or environment switch enables the retired effects. The historical purge daemon reports `authority_required` with zero releases/destruction and keeps all protection records. Provider inventory reads and implemented typed canonical operations remain available.
@@ -19,6 +19,7 @@ export declare function canonicalEnvironmentForHost(host: ProxmoxHostConfig | Es
19
19
  export declare class CredentialResolver {
20
20
  private readonly defaultLabProtectedVmids;
21
21
  private readonly defaultMiniProtectedVmids;
22
+ private readonly defaultIbm64ProtectedVmids;
22
23
  private readonly defaultEsxiProtectedVms;
23
24
  /**
24
25
  * Returns true only when mock mode was EXPLICITLY requested by the caller,
@@ -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;IA8LnF;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgHhC;;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"}
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,CA+CxB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6B;IACtE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAmB;IAC9D,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;IA8LnF;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgHhC;;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"}
@@ -31,6 +31,7 @@ const CANONICAL_PROXMOX_PREFIX = {
31
31
  "proxmox-lab": "LAB_PROXMOX_",
32
32
  "proxmox-mini": "LAB_PROXMOX_MINIS_",
33
33
  "proxmox-minis-lab": "LAB_PROXMOX_MINIS_",
34
+ "proxmox-ibm64": "LAB_PROXMOX_IBM64_",
34
35
  };
35
36
  function directValue(env, key, derived) {
36
37
  // A value already supplied to the MCP process is authoritative. Empty
@@ -111,8 +112,9 @@ export function canonicalEnvironmentForHost(host, env = process.env) {
111
112
  return projected;
112
113
  }
113
114
  export class CredentialResolver {
114
- defaultLabProtectedVmids = [100, 101, 102, 104];
115
- defaultMiniProtectedVmids = [182];
115
+ defaultLabProtectedVmids = [100, 101, 102, 104, 502];
116
+ defaultMiniProtectedVmids = [182, 503];
117
+ defaultIbm64ProtectedVmids = [501];
116
118
  defaultEsxiProtectedVms = [
117
119
  "cucm-15",
118
120
  "cucm-pub",
@@ -163,7 +165,7 @@ export class CredentialResolver {
163
165
  const directLab = this.extractProxmoxHostConfig("proxmox-lab", "LAB_PROXMOX_", env, this.defaultLabProtectedVmids);
164
166
  const directMini = this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINIS_", env, this.defaultMiniProtectedVmids) ||
165
167
  this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINI_", env, this.defaultMiniProtectedVmids);
166
- const directIbm64 = this.extractProxmoxHostConfig("proxmox-ibm64", "LAB_PROXMOX_IBM64_", env, []);
168
+ const directIbm64 = this.extractProxmoxHostConfig("proxmox-ibm64", "LAB_PROXMOX_IBM64_", env, this.defaultIbm64ProtectedVmids);
167
169
  const directEsxi = this.extractEsxiHostConfig(env);
168
170
  const directVmCreds = this.extractVmCredentials(env);
169
171
  // If all essential direct credentials exist, return Tier 1 (fully real, no mock involved)
@@ -206,7 +208,7 @@ export class CredentialResolver {
206
208
  this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINIS_", mergedSecrets, this.defaultMiniProtectedVmids) ||
207
209
  this.extractProxmoxHostConfig("proxmox-mini", "LAB_PROXMOX_MINI_", mergedSecrets, this.defaultMiniProtectedVmids);
208
210
  const dopplerIbm64 = directIbm64 ||
209
- this.extractProxmoxHostConfig("proxmox-ibm64", "LAB_PROXMOX_IBM64_", mergedSecrets, []);
211
+ this.extractProxmoxHostConfig("proxmox-ibm64", "LAB_PROXMOX_IBM64_", mergedSecrets, this.defaultIbm64ProtectedVmids);
210
212
  const dopplerEsxi = directEsxi || this.extractEsxiHostConfig(mergedSecrets);
211
213
  const dopplerVmCreds = directVmCreds || this.extractVmCredentials(mergedSecrets);
212
214
  if (dopplerLab || dopplerMini || dopplerEsxi) {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"appliance-claim-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/appliance-claim-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appliance-claim-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/appliance-claim-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,mBAAmB,+DAAgE,CAAC;AACjG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,CAqCzG;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,sBAAsB,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7C,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACrF,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE;YACR,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,6BAA6B;;;;CAIzC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;EAA0C,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;EAAwC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;CAoB1C,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoD,CAAC;AACjG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,8BAA8B;;;;CAI1C,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;EAAoD,CAAC;AACjG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,6BAA6B;;;;;CAKzC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAA0C,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,6BAA6B;;;;;CAKzC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAA0C,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAElD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAO7E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1F,OAAO,CAAC,GAAG,CAAC,CAsCd;AAED;6EAC6E;AAC7E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAClF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CASlG;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,oBAAoB,EAAE,SAAS,SAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAC9D,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,cAAc,CAAC,CAoEzB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,cAAc,CAAC,CAqCzB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,yBAAyB,GAC/B;IAAE,QAAQ,EAAE,sBAAsB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAkFpG;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,cAAc,CAAC,CA2EzB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,cAAc,CAAC,CA2EzB;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtH;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,sBAAsB,GAAG;IAAE,QAAQ,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC5E,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,MAAmB,GACvB,SAAS,CAgCX;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,cAAc,CAAC,CAwEzB;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,cAAc,CAAC,CAoBzB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,SAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -8,15 +8,13 @@
8
8
  * managed by ct-appliance-operator in Kubernetes (namespace: ct-lab).
9
9
  */
10
10
  import { z } from "zod";
11
- import { execFile } from "node:child_process";
12
- import { promisify } from "node:util";
13
11
  import { fetch, Agent } from "undici";
14
12
  import * as fs from "node:fs";
15
13
  import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
16
14
  import { logger } from "../utils/logger.js";
17
15
  import { createPhysicalClaim, deletePhysicalClaim, UnreservedClaimError } from "./physical-slot.js";
16
+ import { resolveLabKubernetesBackend, runLabKubectl } from "./kubernetes-backend.js";
18
17
  import { proxmoxClaimNode, PROXMOX_HOST_CLAIM_NODES, } from "./proxmox-host-policy.js";
19
- const execFileAsync = promisify(execFile);
20
18
  export const RECOGNIZED_CHANNELS = ["stable", "beta", "rc", "candidate", "dev", "edge"];
21
19
  export function resolveAndValidateChannel(version, trainOrChannel) {
22
20
  const isPrerelease = version.includes("-rc") || version.includes("-dev") || version.includes("-beta") || version.includes("-candidate");
@@ -118,41 +116,41 @@ export function normalizeClaimNode(node) {
118
116
  return "esxi";
119
117
  return proxmoxClaimNode(raw);
120
118
  }
121
- const K8S_IN_CLUSTER_TOKEN = "/var/run/secrets/kubernetes.io/serviceaccount/token";
122
- const K8S_IN_CLUSTER_CA = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt";
123
119
  export async function queryKubernetesApi(path, options = {}) {
124
- const isCluster = fs.existsSync(K8S_IN_CLUSTER_TOKEN);
125
- if (isCluster) {
126
- const host = process.env.KUBERNETES_SERVICE_HOST || "kubernetes.default.svc";
127
- const port = process.env.KUBERNETES_SERVICE_PORT || "443";
128
- const token = fs.readFileSync(K8S_IN_CLUSTER_TOKEN, "utf-8").trim();
129
- const ca = fs.existsSync(K8S_IN_CLUSTER_CA) ? fs.readFileSync(K8S_IN_CLUSTER_CA) : undefined;
120
+ const backend = resolveLabKubernetesBackend();
121
+ if (backend.mode === "in-cluster") {
122
+ const token = fs.readFileSync(backend.tokenPath, "utf-8").trim();
123
+ if (!token)
124
+ throw new Error("in-cluster Kubernetes token is unavailable");
125
+ const ca = fs.readFileSync(backend.caPath);
130
126
  const agent = new Agent({
131
127
  connect: {
132
128
  ca,
133
- rejectUnauthorized: false
129
+ rejectUnauthorized: true
134
130
  }
135
131
  });
136
- const url = `https://${host}:${port}${path}`;
137
- const res = await fetch(url, {
138
- method: options.method || "GET",
139
- headers: {
140
- Authorization: `Bearer ${token}`,
141
- // A custom resource only accepts merge-patch/json-patch for PATCH; plain
142
- // application/json is rejected with 415.
143
- "Content-Type": options.contentType ?? ((options.method || "GET") === "PATCH" ? "application/merge-patch+json" : "application/json")
144
- },
145
- body: options.body ? JSON.stringify(options.body) : undefined,
146
- dispatcher: agent,
147
- ...(options.timeoutMs ? { signal: AbortSignal.timeout(options.timeoutMs) } : {}),
148
- });
149
- if (!res.ok) {
150
- const errText = await res.text().catch(() => "");
151
- throw new Error(`Kubernetes API error (${res.status}): ${errText}`);
132
+ try {
133
+ const res = await fetch(`${backend.server}${path}`, {
134
+ method: options.method || "GET",
135
+ headers: {
136
+ Authorization: `Bearer ${token}`,
137
+ // A custom resource only accepts merge-patch/json-patch for PATCH; plain
138
+ // application/json is rejected with 415.
139
+ "Content-Type": options.contentType ?? ((options.method || "GET") === "PATCH" ? "application/merge-patch+json" : "application/json")
140
+ },
141
+ body: options.body === undefined ? undefined : JSON.stringify(options.body),
142
+ dispatcher: agent,
143
+ signal: AbortSignal.timeout(options.timeoutMs ?? 10_000),
144
+ });
145
+ if (!res.ok)
146
+ throw new Error(`Kubernetes API request failed (${res.status})`);
147
+ return res.json();
148
+ }
149
+ finally {
150
+ await agent.close();
152
151
  }
153
- return res.json();
154
152
  }
155
- // Fallback to kubectl
153
+ // The caller must use runLabKubectl, which validates the same explicit binding.
156
154
  return null;
157
155
  }
158
156
  export function independentClaimVerb(operation, args) {
@@ -192,7 +190,7 @@ export async function verifyIndependentClaimAccess(verb, namespace = "ct-lab", n
192
190
  && !review?.status?.evaluationError;
193
191
  }
194
192
  const resource = attributes.name ? `applianceclaims.calltelemetry.com/${attributes.name}` : "applianceclaims.calltelemetry.com";
195
- const { stdout } = await execFileAsync("kubectl", ["auth", "can-i", verb, resource, `--namespace=${namespace}`], { timeout: 10_000 });
193
+ const { stdout } = await runLabKubectl(["auth", "can-i", verb, resource, `--namespace=${namespace}`], { timeoutMs: 10_000 });
196
194
  return stdout.trim() === "yes";
197
195
  }
198
196
  catch {
@@ -208,40 +206,15 @@ export async function handleListApplianceClaims(args, _context) {
208
206
  const { namespace, phase, claimType } = parsed.data;
209
207
  try {
210
208
  let items = [];
211
- // Try in-cluster API first
212
209
  const apiPath = `/apis/calltelemetry.com/v1alpha1/namespaces/${namespace}/applianceclaims`;
213
- let apiRes = null;
214
- let apiError = null;
215
- try {
216
- apiRes = await queryKubernetesApi(apiPath);
217
- }
218
- catch (err) {
219
- apiError = err.message;
220
- logger.warn(`In-cluster Kubernetes API call to '${apiPath}' failed: ${err.message}`);
221
- }
210
+ const apiRes = await queryKubernetesApi(apiPath);
222
211
  if (apiRes && apiRes.items) {
223
212
  items = apiRes.items;
224
213
  }
225
214
  else {
226
- // Execute via kubectl fallback
227
- try {
228
- const { stdout } = await execFileAsync("kubectl", [
229
- "get",
230
- "applianceclaims",
231
- "-n",
232
- namespace,
233
- "-o",
234
- "json"
235
- ]);
236
- const parsedK8s = JSON.parse(stdout);
237
- items = parsedK8s.items || [];
238
- }
239
- catch (kubectlErr) {
240
- if (apiError) {
241
- throw new Error(`In-cluster Kubernetes API error: ${apiError}. Kubectl fallback error: ${kubectlErr.message}`);
242
- }
243
- throw kubectlErr;
244
- }
215
+ const { stdout } = await runLabKubectl(["get", "applianceclaims", "-n", namespace, "-o", "json"]);
216
+ const parsedK8s = JSON.parse(stdout);
217
+ items = parsedK8s.items || [];
245
218
  }
246
219
  if (phase) {
247
220
  items = items.filter((item) => item.status?.phase === phase);
@@ -289,40 +262,11 @@ export async function handleGetApplianceClaim(args, _context) {
289
262
  }
290
263
  const { name, namespace } = parsed.data;
291
264
  try {
292
- let claim = null;
293
265
  const apiPath = `/apis/calltelemetry.com/v1alpha1/namespaces/${namespace}/applianceclaims/${name}`;
294
- let apiRes = null;
295
- let apiError = null;
296
- try {
297
- apiRes = await queryKubernetesApi(apiPath);
298
- }
299
- catch (err) {
300
- apiError = err.message;
301
- logger.warn(`In-cluster Kubernetes API call to '${apiPath}' failed: ${err.message}`);
302
- }
303
- if (apiRes && apiRes.metadata) {
304
- claim = apiRes;
305
- }
306
- else {
307
- try {
308
- const { stdout } = await execFileAsync("kubectl", [
309
- "get",
310
- "applianceclaim",
311
- name,
312
- "-n",
313
- namespace,
314
- "-o",
315
- "json"
316
- ]);
317
- claim = JSON.parse(stdout);
318
- }
319
- catch (kubectlErr) {
320
- if (apiError) {
321
- throw new Error(`In-cluster Kubernetes API error: ${apiError}. Kubectl fallback error: ${kubectlErr.message}`);
322
- }
323
- throw kubectlErr;
324
- }
325
- }
266
+ const apiRes = await queryKubernetesApi(apiPath);
267
+ const claim = apiRes?.metadata
268
+ ? apiRes
269
+ : JSON.parse((await runLabKubectl(["get", "applianceclaim", name, "-n", namespace, "-o", "json"])).stdout);
326
270
  return {
327
271
  content: [
328
272
  {
@@ -489,22 +433,9 @@ export async function handlePauseApplianceClaim(args, _context) {
489
433
  if (paused && pausedReason) {
490
434
  mergePatch.spec.pausedReason = pausedReason;
491
435
  }
492
- let patchRes = null;
493
- let patchError = null;
494
- try {
495
- patchRes = await queryKubernetesApi(apiPath, {
496
- method: "PATCH",
497
- body: mergePatch
498
- });
499
- }
500
- catch (err) {
501
- patchError = err.message;
502
- logger.warn(`In-cluster Kubernetes API patch of '${apiPath}' failed: ${err.message}`);
503
- }
436
+ const patchRes = await queryKubernetesApi(apiPath, { method: "PATCH", body: mergePatch });
504
437
  let kubectlUsed = false;
505
438
  if (!patchRes) {
506
- // queryKubernetesApi returns null when it falls back to kubectl.
507
- const contentType = paused ? "merge" : "merge";
508
439
  const patchArgs = [
509
440
  "patch",
510
441
  "applianceclaim",
@@ -515,29 +446,20 @@ export async function handlePauseApplianceClaim(args, _context) {
515
446
  "-p",
516
447
  JSON.stringify(mergePatch)
517
448
  ];
518
- try {
519
- await execFileAsync("kubectl", patchArgs);
520
- kubectlUsed = true;
521
- }
522
- catch (kubectlErr) {
523
- if (patchError) {
524
- throw new Error(`In-cluster Kubernetes API error: ${patchError}. Kubectl fallback error: ${kubectlErr.message}`);
525
- }
526
- throw kubectlErr;
527
- }
449
+ await runLabKubectl(patchArgs);
450
+ kubectlUsed = true;
528
451
  }
529
452
  // Readback: verify the live paused state rather than trusting the patch ack.
530
453
  let liveSpecPaused = null;
531
- let readbackError = null;
532
- try {
533
- const readback = await queryKubernetesApi(apiPath);
534
- if (readback) {
535
- liveSpecPaused = readback?.spec?.paused ?? null;
536
- }
454
+ const readback = await queryKubernetesApi(apiPath);
455
+ if (readback) {
456
+ liveSpecPaused = readback?.spec?.paused ?? null;
537
457
  }
538
- catch (err) {
539
- readbackError = err.message;
458
+ else {
459
+ const live = JSON.parse((await runLabKubectl(["get", "applianceclaim", name, "-n", namespace, "-o", "json"])).stdout);
460
+ liveSpecPaused = live?.spec?.paused ?? null;
540
461
  }
462
+ const readbackError = null;
541
463
  return {
542
464
  content: [
543
465
  {
@@ -551,7 +473,7 @@ export async function handlePauseApplianceClaim(args, _context) {
551
473
  liveSpecPaused,
552
474
  readbackError,
553
475
  semantics: "Paused claims: TTL expiry suspended, no lifecycle actions, deletion still outranks pause, pause never purges (ADR 0755).",
554
- note: patchError ? `in-cluster patch error: ${patchError}` : undefined
476
+ note: undefined
555
477
  }, null, 2)
556
478
  }
557
479
  ]
@@ -615,15 +537,9 @@ export async function handleRenewApplianceClaim(args, _context) {
615
537
  const { name, namespace, extendHours, dryRun } = parsed.data;
616
538
  const apiPath = `/apis/calltelemetry.com/v1alpha1/namespaces/${namespace}/applianceclaims/${name}`;
617
539
  try {
618
- let claim = null;
619
- try {
620
- claim = await queryKubernetesApi(apiPath);
621
- }
622
- catch (err) {
623
- logger.warn(`In-cluster read of '${apiPath}' failed: ${err.message}`);
624
- }
540
+ let claim = await queryKubernetesApi(apiPath);
625
541
  if (!claim) {
626
- const { stdout } = await execFileAsync("kubectl", ["get", "applianceclaim", name, "-n", namespace, "-o", "json"]);
542
+ const { stdout } = await runLabKubectl(["get", "applianceclaim", name, "-n", namespace, "-o", "json"]);
627
543
  claim = JSON.parse(stdout);
628
544
  }
629
545
  const plan = planClaimRenewal(claim, extendHours);
@@ -632,43 +548,15 @@ export async function handleRenewApplianceClaim(args, _context) {
632
548
  }
633
549
  if (!dryRun) {
634
550
  const mergePatch = { spec: { ttlHours: plan.newTtlHours } };
635
- let patchRes = null;
636
- let patchError = null;
637
- try {
638
- patchRes = await queryKubernetesApi(apiPath, { method: "PATCH", body: mergePatch });
639
- }
640
- catch (err) {
641
- patchError = err.message;
642
- logger.warn(`In-cluster patch of '${apiPath}' failed: ${err.message}`);
643
- }
551
+ const patchRes = await queryKubernetesApi(apiPath, { method: "PATCH", body: mergePatch });
644
552
  if (!patchRes) {
645
- try {
646
- await execFileAsync("kubectl", [
647
- "patch", "applianceclaim", name, "-n", namespace, "--type=merge", "-p", JSON.stringify(mergePatch)
648
- ]);
649
- }
650
- catch (kubectlErr) {
651
- throw new Error(patchError
652
- ? `In-cluster Kubernetes API error: ${patchError}. Kubectl fallback error: ${kubectlErr.message}`
653
- : kubectlErr.message);
654
- }
553
+ await runLabKubectl(["patch", "applianceclaim", name, "-n", namespace, "--type=merge", "-p", JSON.stringify(mergePatch)]);
655
554
  }
656
555
  // Verify the live object rather than trusting the patch ack.
657
- let live = null;
658
- try {
659
- live = await queryKubernetesApi(apiPath);
660
- }
661
- catch {
662
- /* readback is best effort over the API; kubectl below */
663
- }
556
+ let live = await queryKubernetesApi(apiPath);
664
557
  if (!live) {
665
- try {
666
- const { stdout } = await execFileAsync("kubectl", ["get", "applianceclaim", name, "-n", namespace, "-o", "json"]);
667
- live = JSON.parse(stdout);
668
- }
669
- catch {
670
- /* leave null */
671
- }
558
+ const { stdout } = await runLabKubectl(["get", "applianceclaim", name, "-n", namespace, "-o", "json"]);
559
+ live = JSON.parse(stdout);
672
560
  }
673
561
  if (live && live.spec?.ttlHours !== plan.newTtlHours) {
674
562
  return createToolErrorResult(ProxmoxErrorCode.UPSTREAM_API_ERROR, `Renewal patch did not persist: live spec.ttlHours=${live.spec?.ttlHours} (expected ${plan.newTtlHours}). The deployed CRD may prune the field.`);
@@ -737,21 +625,9 @@ export async function patchApplianceClaimSpec(name, spec, namespace = "ct-lab")
737
625
  }
738
626
  const apiPath = `/apis/calltelemetry.com/v1alpha1/namespaces/${namespace}/applianceclaims/${name}`;
739
627
  const mergePatch = { spec };
740
- let patched = null;
741
- let apiError = null;
742
- try {
743
- patched = await queryKubernetesApi(apiPath, { method: "PATCH", body: mergePatch });
744
- }
745
- catch (err) {
746
- apiError = err.message;
747
- }
628
+ const patched = await queryKubernetesApi(apiPath, { method: "PATCH", body: mergePatch });
748
629
  if (!patched) {
749
- try {
750
- await execFileAsync("kubectl", ["patch", "applianceclaim", name, "-n", namespace, "--type=merge", "-p", JSON.stringify(mergePatch)]);
751
- }
752
- catch (kubectlErr) {
753
- throw new Error(apiError ? `In-cluster Kubernetes API error: ${apiError}. Kubectl fallback error: ${kubectlErr.message}` : kubectlErr.message);
754
- }
630
+ await runLabKubectl(["patch", "applianceclaim", name, "-n", namespace, "--type=merge", "-p", JSON.stringify(mergePatch)]);
755
631
  }
756
632
  }
757
633
  //# sourceMappingURL=appliance-claim-tools.js.map