@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.
- package/README.md +1 -1
- package/dist/agent-heartbeat.js +1 -1
- package/dist/bootstrap.js +9 -1
- package/dist/compute.d.ts +7 -0
- package/dist/compute.js +5 -1
- package/dist/deploy-compiler.d.ts +1 -0
- package/dist/deploy-compiler.js +10 -3
- package/dist/deploy-plan-runner.js +3 -1
- package/dist/deploy-plan.js +3 -1
- package/dist/deploy.d.ts +1 -0
- package/dist/deployment.d.ts +1 -0
- package/dist/fz-agent.js +132 -45
- package/dist/fz.js +34 -6
- package/dist/metal-bootstrap.js +2 -1
- package/dist/metal-helper-socket.js +92 -7
- package/dist/metal-provision.d.ts +1 -0
- package/dist/metal-provision.js +90 -5
- package/dist/operator-bootstrap.js +13 -2
- package/dist/platform-bootstrap-runtime.d.ts +1 -0
- package/dist/platform-bootstrap-runtime.js +7 -0
- package/dist/platform-fleet-verification.js +8 -1
- package/dist/platform-genesis.d.ts +1 -0
- package/dist/platform-genesis.js +6 -0
- package/dist/provision.js +1 -1
- package/dist/provisioning-pull.d.ts +2 -0
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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.
|
|
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
|
|
@@ -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.
|
|
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",
|
package/dist/platform-genesis.js
CHANGED
|
@@ -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.
|
|
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.
|
|
2
|
+
export declare const VERSION = "0.1.136";
|