@forgezero/agent 0.1.135 → 0.1.136

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.
@@ -1460,7 +1460,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1460
1460
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1461
1461
 
1462
1462
  // src/version.ts
1463
- var VERSION = "0.1.135";
1463
+ var VERSION = "0.1.136";
1464
1464
 
1465
1465
  // src/software.ts
1466
1466
  var PINNED_BUN_VERSION = "1.3.14";
@@ -3070,6 +3070,10 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
3070
3070
  throw new Error("platform genesis vCPU count cannot be smaller than physical cores");
3071
3071
  const memoryGib = integer(input.memoryGib, 1, 8192, "memory");
3072
3072
  const diskGib = integer(input.diskGib, 8, 65536, "disk");
3073
+ const diskEncryption = input.diskEncryption ?? "none";
3074
+ if (!["none", "luks2"].includes(diskEncryption)) {
3075
+ throw new Error("platform genesis disk encryption mode is unsupported");
3076
+ }
3073
3077
  const egressGuaranteedMbps = integer(input.egressGuaranteedMbps, 0, 1e6, "guaranteed egress");
3074
3078
  const egressBurstMbps = integer(input.egressBurstMbps, egressGuaranteedMbps, 1e6, "burst egress");
3075
3079
  return {
@@ -3081,6 +3085,7 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
3081
3085
  vcpu,
3082
3086
  memoryGib,
3083
3087
  diskGib,
3088
+ diskEncryption,
3084
3089
  egressGuaranteedMbps,
3085
3090
  egressBurstMbps,
3086
3091
  confidential: input.confidential
@@ -3111,6 +3116,7 @@ var claimFor = (guest, keys, action) => {
3111
3116
  vcpu: guest.vcpu,
3112
3117
  memoryGib: guest.memoryGib,
3113
3118
  diskGib: guest.diskGib,
3119
+ diskEncryption: guest.diskEncryption,
3114
3120
  egressGuaranteedMbps: guest.egressGuaranteedMbps,
3115
3121
  egressBurstMbps: guest.egressBurstMbps,
3116
3122
  confidential: guest.confidential
@@ -3200,6 +3206,7 @@ function validatePlatformInitialInventory(value) {
3200
3206
  "vcpu",
3201
3207
  "memoryGib",
3202
3208
  "diskGib",
3209
+ "diskEncryption",
3203
3210
  "egressGuaranteedMbps",
3204
3211
  "egressBurstMbps",
3205
3212
  "confidential",
@@ -5230,6 +5237,7 @@ function strictBootstrapDocument(value) {
5230
5237
  "vcpu",
5231
5238
  "memoryGib",
5232
5239
  "diskGib",
5240
+ "diskEncryption",
5233
5241
  "egressGuaranteedMbps",
5234
5242
  "egressBurstMbps",
5235
5243
  "confidential",
@@ -6194,6 +6202,7 @@ async function applyMetalBootstrap(config, options) {
6194
6202
  "qemu-utils",
6195
6203
  "cloud-image-utils",
6196
6204
  "lvm2",
6205
+ "cryptsetup",
6197
6206
  "nftables",
6198
6207
  "curl",
6199
6208
  "ca-certificates"
@@ -6634,11 +6643,12 @@ var validateMetalRequestValue = (value, options = {}) => {
6634
6643
  "vcpu",
6635
6644
  "memoryGib",
6636
6645
  "diskGib",
6646
+ "diskEncryption",
6637
6647
  "egressGuaranteedMbps",
6638
6648
  "egressBurstMbps",
6639
6649
  "confidential"
6640
6650
  ], label);
6641
- if (typeof row.name !== "string" || typeof row.address !== "string" || typeof row.imageKey !== "string" || row.cpuPoolKey !== undefined && typeof row.cpuPoolKey !== "string" || !["physicalCores", "vcpu", "memoryGib", "diskGib", "egressGuaranteedMbps", "egressBurstMbps"].every((key) => typeof row[key] === "number") || typeof row.confidential !== "boolean") {
6651
+ if (typeof row.name !== "string" || typeof row.address !== "string" || typeof row.imageKey !== "string" || row.cpuPoolKey !== undefined && typeof row.cpuPoolKey !== "string" || !["physicalCores", "vcpu", "memoryGib", "diskGib", "egressGuaranteedMbps", "egressBurstMbps"].every((key) => typeof row[key] === "number") || row.diskEncryption !== undefined && !["none", "luks2"].includes(row.diskEncryption) || typeof row.confidential !== "boolean") {
6642
6652
  throw new Error(`${label} has invalid resource coordinates`);
6643
6653
  }
6644
6654
  return {
@@ -6650,6 +6660,7 @@ var validateMetalRequestValue = (value, options = {}) => {
6650
6660
  vcpu: row.vcpu,
6651
6661
  memoryGib: row.memoryGib,
6652
6662
  diskGib: row.diskGib,
6663
+ diskEncryption: row.diskEncryption ?? "none",
6653
6664
  egressGuaranteedMbps: row.egressGuaranteedMbps,
6654
6665
  egressBurstMbps: row.egressBurstMbps,
6655
6666
  confidential: row.confidential
@@ -11,6 +11,7 @@ export interface PlatformInitialInventoryCompute {
11
11
  vcpu: number;
12
12
  memoryGib: number;
13
13
  diskGib: number;
14
+ diskEncryption?: 'none' | 'luks2';
14
15
  egressGuaranteedMbps: number;
15
16
  egressBurstMbps: number;
16
17
  confidential: true;
@@ -652,6 +652,10 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
652
652
  throw new Error("platform genesis vCPU count cannot be smaller than physical cores");
653
653
  const memoryGib = integer(input.memoryGib, 1, 8192, "memory");
654
654
  const diskGib = integer(input.diskGib, 8, 65536, "disk");
655
+ const diskEncryption = input.diskEncryption ?? "none";
656
+ if (!["none", "luks2"].includes(diskEncryption)) {
657
+ throw new Error("platform genesis disk encryption mode is unsupported");
658
+ }
655
659
  const egressGuaranteedMbps = integer(input.egressGuaranteedMbps, 0, 1e6, "guaranteed egress");
656
660
  const egressBurstMbps = integer(input.egressBurstMbps, egressGuaranteedMbps, 1e6, "burst egress");
657
661
  return {
@@ -663,6 +667,7 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
663
667
  vcpu,
664
668
  memoryGib,
665
669
  diskGib,
670
+ diskEncryption,
666
671
  egressGuaranteedMbps,
667
672
  egressBurstMbps,
668
673
  confidential: input.confidential
@@ -693,6 +698,7 @@ var claimFor = (guest, keys, action) => {
693
698
  vcpu: guest.vcpu,
694
699
  memoryGib: guest.memoryGib,
695
700
  diskGib: guest.diskGib,
701
+ diskEncryption: guest.diskEncryption,
696
702
  egressGuaranteedMbps: guest.egressGuaranteedMbps,
697
703
  egressBurstMbps: guest.egressBurstMbps,
698
704
  confidential: guest.confidential
@@ -799,6 +805,7 @@ function validatePlatformInitialInventory(value) {
799
805
  "vcpu",
800
806
  "memoryGib",
801
807
  "diskGib",
808
+ "diskEncryption",
802
809
  "egressGuaranteedMbps",
803
810
  "egressBurstMbps",
804
811
  "confidential",
@@ -3049,7 +3049,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
3049
3049
  }
3050
3050
 
3051
3051
  // src/version.ts
3052
- var VERSION3 = "0.1.135";
3052
+ var VERSION3 = "0.1.136";
3053
3053
 
3054
3054
  // src/egress-policy.ts
3055
3055
  import { realpathSync as realpathSync3 } from "node:fs";
@@ -4168,6 +4168,10 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
4168
4168
  throw new Error("platform genesis vCPU count cannot be smaller than physical cores");
4169
4169
  const memoryGib = integer(input.memoryGib, 1, 8192, "memory");
4170
4170
  const diskGib = integer(input.diskGib, 8, 65536, "disk");
4171
+ const diskEncryption = input.diskEncryption ?? "none";
4172
+ if (!["none", "luks2"].includes(diskEncryption)) {
4173
+ throw new Error("platform genesis disk encryption mode is unsupported");
4174
+ }
4171
4175
  const egressGuaranteedMbps = integer(input.egressGuaranteedMbps, 0, 1e6, "guaranteed egress");
4172
4176
  const egressBurstMbps = integer(input.egressBurstMbps, egressGuaranteedMbps, 1e6, "burst egress");
4173
4177
  return {
@@ -4179,6 +4183,7 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
4179
4183
  vcpu,
4180
4184
  memoryGib,
4181
4185
  diskGib,
4186
+ diskEncryption,
4182
4187
  egressGuaranteedMbps,
4183
4188
  egressBurstMbps,
4184
4189
  confidential: input.confidential
@@ -4209,6 +4214,7 @@ var claimFor = (guest, keys, action) => {
4209
4214
  vcpu: guest.vcpu,
4210
4215
  memoryGib: guest.memoryGib,
4211
4216
  diskGib: guest.diskGib,
4217
+ diskEncryption: guest.diskEncryption,
4212
4218
  egressGuaranteedMbps: guest.egressGuaranteedMbps,
4213
4219
  egressBurstMbps: guest.egressBurstMbps,
4214
4220
  confidential: guest.confidential
@@ -4315,6 +4321,7 @@ function validatePlatformInitialInventory(value) {
4315
4321
  "vcpu",
4316
4322
  "memoryGib",
4317
4323
  "diskGib",
4324
+ "diskEncryption",
4318
4325
  "egressGuaranteedMbps",
4319
4326
  "egressBurstMbps",
4320
4327
  "confidential",
@@ -14,6 +14,7 @@ export interface PlatformGenesisGuest {
14
14
  vcpu: number;
15
15
  memoryGib: number;
16
16
  diskGib: number;
17
+ diskEncryption?: 'none' | 'luks2';
17
18
  egressGuaranteedMbps: number;
18
19
  egressBurstMbps: number;
19
20
  confidential: boolean;
@@ -652,6 +652,10 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
652
652
  throw new Error("platform genesis vCPU count cannot be smaller than physical cores");
653
653
  const memoryGib = integer(input.memoryGib, 1, 8192, "memory");
654
654
  const diskGib = integer(input.diskGib, 8, 65536, "disk");
655
+ const diskEncryption = input.diskEncryption ?? "none";
656
+ if (!["none", "luks2"].includes(diskEncryption)) {
657
+ throw new Error("platform genesis disk encryption mode is unsupported");
658
+ }
655
659
  const egressGuaranteedMbps = integer(input.egressGuaranteedMbps, 0, 1e6, "guaranteed egress");
656
660
  const egressBurstMbps = integer(input.egressBurstMbps, egressGuaranteedMbps, 1e6, "burst egress");
657
661
  return {
@@ -663,6 +667,7 @@ function validatePlatformGenesisGuests(guests, expectedCount = 3) {
663
667
  vcpu,
664
668
  memoryGib,
665
669
  diskGib,
670
+ diskEncryption,
666
671
  egressGuaranteedMbps,
667
672
  egressBurstMbps,
668
673
  confidential: input.confidential
@@ -693,6 +698,7 @@ var claimFor = (guest, keys, action) => {
693
698
  vcpu: guest.vcpu,
694
699
  memoryGib: guest.memoryGib,
695
700
  diskGib: guest.diskGib,
701
+ diskEncryption: guest.diskEncryption,
696
702
  egressGuaranteedMbps: guest.egressGuaranteedMbps,
697
703
  egressBurstMbps: guest.egressBurstMbps,
698
704
  confidential: guest.confidential
package/dist/provision.js CHANGED
@@ -3049,7 +3049,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
3049
3049
  }
3050
3050
 
3051
3051
  // src/version.ts
3052
- var VERSION3 = "0.1.135";
3052
+ var VERSION3 = "0.1.136";
3053
3053
 
3054
3054
  // src/egress-policy.ts
3055
3055
  import { realpathSync as realpathSync3 } from "node:fs";
@@ -17,6 +17,8 @@ interface RemoteProvisionClaimBase {
17
17
  vcpu: number;
18
18
  memoryGib: number;
19
19
  diskGib: number;
20
+ /** Absent only on pre-encryption claims; normalized to `none` by the Metal Agent. */
21
+ diskEncryption?: 'none' | 'luks2';
20
22
  egressGuaranteedMbps: number;
21
23
  egressBurstMbps: number;
22
24
  confidential: boolean;
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** One package version shared by both public binaries. Pinned to package.json by tests. */
2
- export declare const VERSION = "0.1.135";
2
+ export declare const VERSION = "0.1.136";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgezero/agent",
3
- "version": "0.1.135",
3
+ "version": "0.1.136",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "check": "tsc --noEmit",