@forgezero/agent 0.1.145 → 0.1.147
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 +36 -19
- package/dist/agent-update-helper.js +35 -18
- package/dist/bootstrap.js +1 -1
- package/dist/fz-agent.js +3276 -1305
- package/dist/fz.js +4690 -2639
- package/dist/metal-bootstrap.js +1 -1
- package/dist/operator-bootstrap.js +1 -1
- package/dist/platform-fleet-verification.js +36 -19
- package/dist/provision.js +36 -19
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/agent-heartbeat.js
CHANGED
|
@@ -264,32 +264,49 @@ function switchAgentSocketRoute(route, backend) {
|
|
|
264
264
|
}
|
|
265
265
|
function probeAgentCandidate(expected, socketPath = DEFAULT_AGENT_CANDIDATE_READY_SOCKET, timeoutMs = 5000) {
|
|
266
266
|
return new Promise((resolve2) => {
|
|
267
|
-
const socket = connect(socketPath);
|
|
268
|
-
let buffer = "";
|
|
269
267
|
let settled = false;
|
|
268
|
+
let socket;
|
|
269
|
+
const deadline = Date.now() + timeoutMs;
|
|
270
270
|
const finish = (value) => {
|
|
271
271
|
if (settled)
|
|
272
272
|
return;
|
|
273
273
|
settled = true;
|
|
274
|
-
|
|
275
|
-
socket.destroy();
|
|
274
|
+
socket?.destroy();
|
|
276
275
|
resolve2(value);
|
|
277
276
|
};
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
return;
|
|
285
|
-
try {
|
|
286
|
-
const value = JSON.parse(buffer.slice(0, newline));
|
|
287
|
-
finish(value.version === expected.version && value.nodeKey === expected.nodeKey && value.bound === expected.bound && expected.vault.includes(value.vault));
|
|
288
|
-
} catch {
|
|
289
|
-
finish(false);
|
|
277
|
+
const attempt = () => {
|
|
278
|
+
if (settled || Date.now() >= deadline)
|
|
279
|
+
return finish(false);
|
|
280
|
+
if (!existsSync2(socketPath)) {
|
|
281
|
+
const remaining = deadline - Date.now();
|
|
282
|
+
return setTimeout(attempt, Math.min(100, remaining));
|
|
290
283
|
}
|
|
291
|
-
|
|
292
|
-
|
|
284
|
+
let buffer = "";
|
|
285
|
+
const candidate = connect(socketPath);
|
|
286
|
+
socket = candidate;
|
|
287
|
+
candidate.on("data", (chunk) => {
|
|
288
|
+
buffer += chunk.toString("utf8");
|
|
289
|
+
const newline = buffer.indexOf(`
|
|
290
|
+
`);
|
|
291
|
+
if (newline < 0)
|
|
292
|
+
return;
|
|
293
|
+
try {
|
|
294
|
+
const value = JSON.parse(buffer.slice(0, newline));
|
|
295
|
+
finish(value.version === expected.version && value.nodeKey === expected.nodeKey && value.bound === expected.bound && expected.vault.includes(value.vault));
|
|
296
|
+
} catch {
|
|
297
|
+
finish(false);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
candidate.once("error", () => {
|
|
301
|
+
candidate.destroy();
|
|
302
|
+
const remaining = deadline - Date.now();
|
|
303
|
+
if (remaining <= 0)
|
|
304
|
+
finish(false);
|
|
305
|
+
else
|
|
306
|
+
setTimeout(attempt, Math.min(100, remaining));
|
|
307
|
+
});
|
|
308
|
+
};
|
|
309
|
+
attempt();
|
|
293
310
|
});
|
|
294
311
|
}
|
|
295
312
|
|
|
@@ -917,7 +934,7 @@ async function postSignedNode(options, path, body) {
|
|
|
917
934
|
}
|
|
918
935
|
|
|
919
936
|
// src/version.ts
|
|
920
|
-
var VERSION3 = "0.1.
|
|
937
|
+
var VERSION3 = "0.1.147";
|
|
921
938
|
|
|
922
939
|
// src/agent-heartbeat.ts
|
|
923
940
|
function readAgentHostMetrics() {
|
|
@@ -264,32 +264,49 @@ function switchAgentSocketRoute(route, backend) {
|
|
|
264
264
|
}
|
|
265
265
|
function probeAgentCandidate(expected, socketPath = DEFAULT_AGENT_CANDIDATE_READY_SOCKET, timeoutMs = 5000) {
|
|
266
266
|
return new Promise((resolve2) => {
|
|
267
|
-
const socket = connect(socketPath);
|
|
268
|
-
let buffer = "";
|
|
269
267
|
let settled = false;
|
|
268
|
+
let socket;
|
|
269
|
+
const deadline = Date.now() + timeoutMs;
|
|
270
270
|
const finish = (value) => {
|
|
271
271
|
if (settled)
|
|
272
272
|
return;
|
|
273
273
|
settled = true;
|
|
274
|
-
|
|
275
|
-
socket.destroy();
|
|
274
|
+
socket?.destroy();
|
|
276
275
|
resolve2(value);
|
|
277
276
|
};
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
return;
|
|
285
|
-
try {
|
|
286
|
-
const value = JSON.parse(buffer.slice(0, newline));
|
|
287
|
-
finish(value.version === expected.version && value.nodeKey === expected.nodeKey && value.bound === expected.bound && expected.vault.includes(value.vault));
|
|
288
|
-
} catch {
|
|
289
|
-
finish(false);
|
|
277
|
+
const attempt = () => {
|
|
278
|
+
if (settled || Date.now() >= deadline)
|
|
279
|
+
return finish(false);
|
|
280
|
+
if (!existsSync2(socketPath)) {
|
|
281
|
+
const remaining = deadline - Date.now();
|
|
282
|
+
return setTimeout(attempt, Math.min(100, remaining));
|
|
290
283
|
}
|
|
291
|
-
|
|
292
|
-
|
|
284
|
+
let buffer = "";
|
|
285
|
+
const candidate = connect(socketPath);
|
|
286
|
+
socket = candidate;
|
|
287
|
+
candidate.on("data", (chunk) => {
|
|
288
|
+
buffer += chunk.toString("utf8");
|
|
289
|
+
const newline = buffer.indexOf(`
|
|
290
|
+
`);
|
|
291
|
+
if (newline < 0)
|
|
292
|
+
return;
|
|
293
|
+
try {
|
|
294
|
+
const value = JSON.parse(buffer.slice(0, newline));
|
|
295
|
+
finish(value.version === expected.version && value.nodeKey === expected.nodeKey && value.bound === expected.bound && expected.vault.includes(value.vault));
|
|
296
|
+
} catch {
|
|
297
|
+
finish(false);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
candidate.once("error", () => {
|
|
301
|
+
candidate.destroy();
|
|
302
|
+
const remaining = deadline - Date.now();
|
|
303
|
+
if (remaining <= 0)
|
|
304
|
+
finish(false);
|
|
305
|
+
else
|
|
306
|
+
setTimeout(attempt, Math.min(100, remaining));
|
|
307
|
+
});
|
|
308
|
+
};
|
|
309
|
+
attempt();
|
|
293
310
|
});
|
|
294
311
|
}
|
|
295
312
|
|
package/dist/bootstrap.js
CHANGED