@forgezero/agent 0.1.94 → 0.1.95
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/dist/agent-heartbeat.js +1 -1
- package/dist/bootstrap.d.ts +7 -0
- package/dist/bootstrap.js +13 -3
- package/dist/fz-agent.js +1 -1
- package/dist/fz.js +12 -3
- package/dist/metal-bootstrap.js +1 -1
- package/dist/operator-bootstrap.js +12 -3
- package/dist/platform-fleet-verification.js +1 -1
- package/dist/provision.js +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/agent-heartbeat.js
CHANGED
package/dist/bootstrap.d.ts
CHANGED
|
@@ -192,6 +192,13 @@ export declare function validateBootstrapConfig(value: BootstrapConfig): Bootstr
|
|
|
192
192
|
export declare function planBootstrap(input: BootstrapConfig, initialized?: boolean): BootstrapPlan;
|
|
193
193
|
export declare function bootstrapIdentityDigest(config: BootstrapConfig): string;
|
|
194
194
|
export declare const legacyBootstrapIdentityDigest: (config: BootstrapConfig) => string;
|
|
195
|
+
/**
|
|
196
|
+
* Exact, reviewed identity migrations for an already-installed platform host.
|
|
197
|
+
* This is deliberately not a generic "stored coordinates match" escape hatch:
|
|
198
|
+
* only the development collector transition from the retired external OTLP
|
|
199
|
+
* placeholder to the supervised loopback sink is accepted.
|
|
200
|
+
*/
|
|
201
|
+
export declare function approvedPlatformRepairIdentityDigests(config: PlatformBootstrapConfig): readonly string[];
|
|
195
202
|
/** Exact prior-release identities accepted only while generation one is still unenrolled. */
|
|
196
203
|
export declare function interruptedPlatformReleaseIdentityDigests(config: PlatformBootstrapConfig, releaseEvidence: {
|
|
197
204
|
revision: string;
|
package/dist/bootstrap.js
CHANGED
|
@@ -1420,7 +1420,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
|
|
|
1420
1420
|
var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
|
|
1421
1421
|
|
|
1422
1422
|
// src/version.ts
|
|
1423
|
-
var VERSION = "0.1.
|
|
1423
|
+
var VERSION = "0.1.95";
|
|
1424
1424
|
|
|
1425
1425
|
// src/software.ts
|
|
1426
1426
|
var PINNED_BUN_VERSION = "1.3.14";
|
|
@@ -4290,6 +4290,14 @@ function bootstrapIdentityDigest(config) {
|
|
|
4290
4290
|
return createHash2("sha256").update(JSON.stringify(bootstrapIdentity(config))).digest("hex");
|
|
4291
4291
|
}
|
|
4292
4292
|
var legacyBootstrapIdentityDigest = (config) => createHash2("sha256").update(JSON.stringify(bootstrapIdentity(config, true))).digest("hex");
|
|
4293
|
+
function approvedPlatformRepairIdentityDigests(config) {
|
|
4294
|
+
if (config.environment !== "development" || config.telemetryEndpoint !== LOCAL_DEBUG_OTEL_EXPORT || config.runtime.environment.agentOtlpEndpoint !== "http://127.0.0.1:4318")
|
|
4295
|
+
return [];
|
|
4296
|
+
const previous = structuredClone(config);
|
|
4297
|
+
previous.telemetryEndpoint = "https://otel.forgezero.net";
|
|
4298
|
+
previous.runtime.environment.agentOtlpEndpoint = "https://otel.forgezero.net";
|
|
4299
|
+
return [bootstrapIdentityDigest(previous), legacyBootstrapIdentityDigest(previous)];
|
|
4300
|
+
}
|
|
4293
4301
|
function interruptedPlatformReleaseIdentityDigests(config, releaseEvidence, bootstrapManifest) {
|
|
4294
4302
|
if (!config.runtime.environment.initialInventory)
|
|
4295
4303
|
return [];
|
|
@@ -4610,10 +4618,11 @@ async function applyBootstrap(input, host = localBootstrapHost(), secrets, depen
|
|
|
4610
4618
|
if (installed) {
|
|
4611
4619
|
const exactIdentity = installed.kind === config.kind && installed.identityDigest === bootstrapIdentityDigest(config);
|
|
4612
4620
|
const boundedReleaseResume = config.kind === "platform" && !host.exists("/var/lib/forgezero/enrolment.json") && host.exists(BOOTSTRAP_RELEASE_EVIDENCE) && storedPlatformCoordinatesMatch(installed, config);
|
|
4613
|
-
|
|
4621
|
+
const approvedIdentityMigration = config.kind === "platform" && storedPlatformCoordinatesMatch(installed, config) && approvedPlatformRepairIdentityDigests(config).includes(installed.identityDigest);
|
|
4622
|
+
if (!exactIdentity && !boundedReleaseResume && !approvedIdentityMigration) {
|
|
4614
4623
|
throw new Error("bootstrap repair coordinates do not match the installed host identity");
|
|
4615
4624
|
}
|
|
4616
|
-
allowInterruptedReleaseRebind = !exactIdentity && boundedReleaseResume;
|
|
4625
|
+
allowInterruptedReleaseRebind = !exactIdentity && (boundedReleaseResume || approvedIdentityMigration);
|
|
4617
4626
|
}
|
|
4618
4627
|
const platformPrivate = config.kind === "platform" ? (() => {
|
|
4619
4628
|
if (!secrets)
|
|
@@ -5219,6 +5228,7 @@ export {
|
|
|
5219
5228
|
interruptedPlatformReleaseIdentityDigests,
|
|
5220
5229
|
bootstrapStatus,
|
|
5221
5230
|
bootstrapIdentityDigest,
|
|
5231
|
+
approvedPlatformRepairIdentityDigests,
|
|
5222
5232
|
applyBootstrap,
|
|
5223
5233
|
PLATFORM_BOOTSTRAP_PROFILES,
|
|
5224
5234
|
BOOTSTRAP_STATE_PATH
|
package/dist/fz-agent.js
CHANGED
package/dist/fz.js
CHANGED
|
@@ -4841,7 +4841,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
|
|
|
4841
4841
|
var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
|
|
4842
4842
|
|
|
4843
4843
|
// src/version.ts
|
|
4844
|
-
var VERSION2 = "0.1.
|
|
4844
|
+
var VERSION2 = "0.1.95";
|
|
4845
4845
|
|
|
4846
4846
|
// src/software.ts
|
|
4847
4847
|
var PINNED_BUN_VERSION = "1.3.14";
|
|
@@ -14675,6 +14675,14 @@ function bootstrapIdentityDigest(config) {
|
|
|
14675
14675
|
return createHash4("sha256").update(JSON.stringify(bootstrapIdentity(config))).digest("hex");
|
|
14676
14676
|
}
|
|
14677
14677
|
var legacyBootstrapIdentityDigest = (config) => createHash4("sha256").update(JSON.stringify(bootstrapIdentity(config, true))).digest("hex");
|
|
14678
|
+
function approvedPlatformRepairIdentityDigests(config) {
|
|
14679
|
+
if (config.environment !== "development" || config.telemetryEndpoint !== LOCAL_DEBUG_OTEL_EXPORT || config.runtime.environment.agentOtlpEndpoint !== "http://127.0.0.1:4318")
|
|
14680
|
+
return [];
|
|
14681
|
+
const previous = structuredClone(config);
|
|
14682
|
+
previous.telemetryEndpoint = "https://otel.forgezero.net";
|
|
14683
|
+
previous.runtime.environment.agentOtlpEndpoint = "https://otel.forgezero.net";
|
|
14684
|
+
return [bootstrapIdentityDigest(previous), legacyBootstrapIdentityDigest(previous)];
|
|
14685
|
+
}
|
|
14678
14686
|
function interruptedPlatformReleaseIdentityDigests(config, releaseEvidence, bootstrapManifest) {
|
|
14679
14687
|
if (!config.runtime.environment.initialInventory)
|
|
14680
14688
|
return [];
|
|
@@ -14995,10 +15003,11 @@ async function applyBootstrap(input, host = localBootstrapHost(), secrets, depen
|
|
|
14995
15003
|
if (installed) {
|
|
14996
15004
|
const exactIdentity = installed.kind === config.kind && installed.identityDigest === bootstrapIdentityDigest(config);
|
|
14997
15005
|
const boundedReleaseResume = config.kind === "platform" && !host.exists("/var/lib/forgezero/enrolment.json") && host.exists(BOOTSTRAP_RELEASE_EVIDENCE) && storedPlatformCoordinatesMatch(installed, config);
|
|
14998
|
-
|
|
15006
|
+
const approvedIdentityMigration = config.kind === "platform" && storedPlatformCoordinatesMatch(installed, config) && approvedPlatformRepairIdentityDigests(config).includes(installed.identityDigest);
|
|
15007
|
+
if (!exactIdentity && !boundedReleaseResume && !approvedIdentityMigration) {
|
|
14999
15008
|
throw new Error("bootstrap repair coordinates do not match the installed host identity");
|
|
15000
15009
|
}
|
|
15001
|
-
allowInterruptedReleaseRebind = !exactIdentity && boundedReleaseResume;
|
|
15010
|
+
allowInterruptedReleaseRebind = !exactIdentity && (boundedReleaseResume || approvedIdentityMigration);
|
|
15002
15011
|
}
|
|
15003
15012
|
const platformPrivate = config.kind === "platform" ? (() => {
|
|
15004
15013
|
if (!secrets)
|
package/dist/metal-bootstrap.js
CHANGED
|
@@ -366,7 +366,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
|
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
// src/version.ts
|
|
369
|
-
var VERSION = "0.1.
|
|
369
|
+
var VERSION = "0.1.95";
|
|
370
370
|
|
|
371
371
|
// src/otel-collector.ts
|
|
372
372
|
var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";
|
|
@@ -1420,7 +1420,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
|
|
|
1420
1420
|
var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
|
|
1421
1421
|
|
|
1422
1422
|
// src/version.ts
|
|
1423
|
-
var VERSION = "0.1.
|
|
1423
|
+
var VERSION = "0.1.95";
|
|
1424
1424
|
|
|
1425
1425
|
// src/software.ts
|
|
1426
1426
|
var PINNED_BUN_VERSION = "1.3.14";
|
|
@@ -4290,6 +4290,14 @@ function bootstrapIdentityDigest(config) {
|
|
|
4290
4290
|
return createHash2("sha256").update(JSON.stringify(bootstrapIdentity(config))).digest("hex");
|
|
4291
4291
|
}
|
|
4292
4292
|
var legacyBootstrapIdentityDigest = (config) => createHash2("sha256").update(JSON.stringify(bootstrapIdentity(config, true))).digest("hex");
|
|
4293
|
+
function approvedPlatformRepairIdentityDigests(config) {
|
|
4294
|
+
if (config.environment !== "development" || config.telemetryEndpoint !== LOCAL_DEBUG_OTEL_EXPORT || config.runtime.environment.agentOtlpEndpoint !== "http://127.0.0.1:4318")
|
|
4295
|
+
return [];
|
|
4296
|
+
const previous = structuredClone(config);
|
|
4297
|
+
previous.telemetryEndpoint = "https://otel.forgezero.net";
|
|
4298
|
+
previous.runtime.environment.agentOtlpEndpoint = "https://otel.forgezero.net";
|
|
4299
|
+
return [bootstrapIdentityDigest(previous), legacyBootstrapIdentityDigest(previous)];
|
|
4300
|
+
}
|
|
4293
4301
|
function interruptedPlatformReleaseIdentityDigests(config, releaseEvidence, bootstrapManifest) {
|
|
4294
4302
|
if (!config.runtime.environment.initialInventory)
|
|
4295
4303
|
return [];
|
|
@@ -4610,10 +4618,11 @@ async function applyBootstrap(input, host = localBootstrapHost(), secrets, depen
|
|
|
4610
4618
|
if (installed) {
|
|
4611
4619
|
const exactIdentity = installed.kind === config.kind && installed.identityDigest === bootstrapIdentityDigest(config);
|
|
4612
4620
|
const boundedReleaseResume = config.kind === "platform" && !host.exists("/var/lib/forgezero/enrolment.json") && host.exists(BOOTSTRAP_RELEASE_EVIDENCE) && storedPlatformCoordinatesMatch(installed, config);
|
|
4613
|
-
|
|
4621
|
+
const approvedIdentityMigration = config.kind === "platform" && storedPlatformCoordinatesMatch(installed, config) && approvedPlatformRepairIdentityDigests(config).includes(installed.identityDigest);
|
|
4622
|
+
if (!exactIdentity && !boundedReleaseResume && !approvedIdentityMigration) {
|
|
4614
4623
|
throw new Error("bootstrap repair coordinates do not match the installed host identity");
|
|
4615
4624
|
}
|
|
4616
|
-
allowInterruptedReleaseRebind = !exactIdentity && boundedReleaseResume;
|
|
4625
|
+
allowInterruptedReleaseRebind = !exactIdentity && (boundedReleaseResume || approvedIdentityMigration);
|
|
4617
4626
|
}
|
|
4618
4627
|
const platformPrivate = config.kind === "platform" ? (() => {
|
|
4619
4628
|
if (!secrets)
|
|
@@ -2908,7 +2908,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
|
|
|
2908
2908
|
}
|
|
2909
2909
|
|
|
2910
2910
|
// src/version.ts
|
|
2911
|
-
var VERSION3 = "0.1.
|
|
2911
|
+
var VERSION3 = "0.1.95";
|
|
2912
2912
|
|
|
2913
2913
|
// src/egress-policy.ts
|
|
2914
2914
|
import { realpathSync as realpathSync3 } from "node:fs";
|
package/dist/provision.js
CHANGED
|
@@ -2908,7 +2908,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
|
|
|
2908
2908
|
}
|
|
2909
2909
|
|
|
2910
2910
|
// src/version.ts
|
|
2911
|
-
var VERSION3 = "0.1.
|
|
2911
|
+
var VERSION3 = "0.1.95";
|
|
2912
2912
|
|
|
2913
2913
|
// src/egress-policy.ts
|
|
2914
2914
|
import { realpathSync as realpathSync3 } from "node:fs";
|
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.95";
|