@forgezero/agent 0.1.47 → 0.1.49
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.js +1 -1
- package/dist/fz-agent.js +1 -1
- package/dist/fz.js +28 -2
- package/dist/metal-bootstrap.js +9 -1
- package/dist/operator-bootstrap.js +28 -2
- 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.js
CHANGED
package/dist/fz-agent.js
CHANGED
package/dist/fz.js
CHANGED
|
@@ -4830,7 +4830,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
|
|
|
4830
4830
|
var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
|
|
4831
4831
|
|
|
4832
4832
|
// src/version.ts
|
|
4833
|
-
var VERSION2 = "0.1.
|
|
4833
|
+
var VERSION2 = "0.1.49";
|
|
4834
4834
|
|
|
4835
4835
|
// src/software.ts
|
|
4836
4836
|
var PINNED_BUN_VERSION = "1.3.14";
|
|
@@ -14146,6 +14146,14 @@ async function applyMetalBootstrap(config, options) {
|
|
|
14146
14146
|
"forgezero-metal-agent-egress.service",
|
|
14147
14147
|
"forgezero-metal-agent.service"
|
|
14148
14148
|
]);
|
|
14149
|
+
await runChecked(exec, [
|
|
14150
|
+
"/usr/bin/systemctl",
|
|
14151
|
+
"restart",
|
|
14152
|
+
"forgezero-agent-update-helper.service",
|
|
14153
|
+
"forgezero-metal-helper.service",
|
|
14154
|
+
"forgezero-metal-agent-egress.service",
|
|
14155
|
+
"forgezero-metal-agent.service"
|
|
14156
|
+
]);
|
|
14149
14157
|
for (let attempt = 0;attempt < 100 && (!socketReady(HELPER_SOCKET) || !socketReady(UPDATE_SOCKET)); attempt += 1) {
|
|
14150
14158
|
await Bun.sleep(100);
|
|
14151
14159
|
}
|
|
@@ -14638,6 +14646,23 @@ var remote = async (exec, request, knownHosts, argv2, label, secret = false, std
|
|
|
14638
14646
|
argv2.forEach(safeRemoteArg);
|
|
14639
14647
|
return checked4(exec, ["ssh", ...sshOptions(request, knownHosts), destination2(request.target), "--", ...argv2], label, { secret, stdin });
|
|
14640
14648
|
};
|
|
14649
|
+
var remoteRegularFileExists = async (exec, request, knownHosts, path) => {
|
|
14650
|
+
safeRemoteArg(path);
|
|
14651
|
+
const result = await exec([
|
|
14652
|
+
"ssh",
|
|
14653
|
+
...sshOptions(request, knownHosts),
|
|
14654
|
+
destination2(request.target),
|
|
14655
|
+
"--",
|
|
14656
|
+
"/usr/bin/test",
|
|
14657
|
+
"-f",
|
|
14658
|
+
path
|
|
14659
|
+
]);
|
|
14660
|
+
if (result.exitCode === 0)
|
|
14661
|
+
return true;
|
|
14662
|
+
if (result.exitCode === 1)
|
|
14663
|
+
return false;
|
|
14664
|
+
throw new Error(`remote initialized-state probe failed${result.output ? `: ${result.output.trim()}` : ""}`);
|
|
14665
|
+
};
|
|
14641
14666
|
var copy = async (exec, request, knownHosts, local, remotePath, secret = false) => {
|
|
14642
14667
|
safeRemoteArg(remotePath);
|
|
14643
14668
|
await checked4(exec, [
|
|
@@ -14812,12 +14837,13 @@ async function applyOperatorMetalBootstrap(request, mode, options = {}) {
|
|
|
14812
14837
|
await copy(exec, request, knownHosts, join10(directory, name), `${remoteTemp}/${name}`, true);
|
|
14813
14838
|
for (const name of ["metal-config.json", ...staged.files])
|
|
14814
14839
|
await remote(exec, request, knownHosts, ["/usr/bin/sudo", "-n", "/usr/bin/install", "-m", "0600", `${remoteTemp}/${name}`, `${REMOTE_STAGE}/${name}`], "remote metal handoff", true);
|
|
14840
|
+
const initialized = await remoteRegularFileExists(exec, request, knownHosts, "/etc/forgezero/metal.initialized.json");
|
|
14815
14841
|
const output = await remote(exec, request, knownHosts, [
|
|
14816
14842
|
"/usr/bin/sudo",
|
|
14817
14843
|
"-n",
|
|
14818
14844
|
"/usr/local/bin/fz",
|
|
14819
14845
|
"bootstrap",
|
|
14820
|
-
"metal",
|
|
14846
|
+
initialized ? "repair" : "metal",
|
|
14821
14847
|
"--bootstrap-config",
|
|
14822
14848
|
`${REMOTE_STAGE}/metal-config.json`,
|
|
14823
14849
|
"--apply"
|
package/dist/metal-bootstrap.js
CHANGED
|
@@ -292,7 +292,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
|
|
|
292
292
|
}
|
|
293
293
|
|
|
294
294
|
// src/version.ts
|
|
295
|
-
var VERSION = "0.1.
|
|
295
|
+
var VERSION = "0.1.49";
|
|
296
296
|
|
|
297
297
|
// src/otel-collector.ts
|
|
298
298
|
var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";
|
|
@@ -978,6 +978,14 @@ async function applyMetalBootstrap(config, options) {
|
|
|
978
978
|
"forgezero-metal-agent-egress.service",
|
|
979
979
|
"forgezero-metal-agent.service"
|
|
980
980
|
]);
|
|
981
|
+
await runChecked(exec, [
|
|
982
|
+
"/usr/bin/systemctl",
|
|
983
|
+
"restart",
|
|
984
|
+
"forgezero-agent-update-helper.service",
|
|
985
|
+
"forgezero-metal-helper.service",
|
|
986
|
+
"forgezero-metal-agent-egress.service",
|
|
987
|
+
"forgezero-metal-agent.service"
|
|
988
|
+
]);
|
|
981
989
|
for (let attempt = 0;attempt < 100 && (!socketReady(HELPER_SOCKET) || !socketReady(UPDATE_SOCKET)); attempt += 1) {
|
|
982
990
|
await Bun.sleep(100);
|
|
983
991
|
}
|
|
@@ -1207,7 +1207,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
|
|
|
1207
1207
|
var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
|
|
1208
1208
|
|
|
1209
1209
|
// src/version.ts
|
|
1210
|
-
var VERSION = "0.1.
|
|
1210
|
+
var VERSION = "0.1.49";
|
|
1211
1211
|
|
|
1212
1212
|
// src/software.ts
|
|
1213
1213
|
var PINNED_BUN_VERSION = "1.3.14";
|
|
@@ -5050,6 +5050,14 @@ async function applyMetalBootstrap(config, options) {
|
|
|
5050
5050
|
"forgezero-metal-agent-egress.service",
|
|
5051
5051
|
"forgezero-metal-agent.service"
|
|
5052
5052
|
]);
|
|
5053
|
+
await runChecked(exec, [
|
|
5054
|
+
"/usr/bin/systemctl",
|
|
5055
|
+
"restart",
|
|
5056
|
+
"forgezero-agent-update-helper.service",
|
|
5057
|
+
"forgezero-metal-helper.service",
|
|
5058
|
+
"forgezero-metal-agent-egress.service",
|
|
5059
|
+
"forgezero-metal-agent.service"
|
|
5060
|
+
]);
|
|
5053
5061
|
for (let attempt = 0;attempt < 100 && (!socketReady(HELPER_SOCKET) || !socketReady(UPDATE_SOCKET)); attempt += 1) {
|
|
5054
5062
|
await Bun.sleep(100);
|
|
5055
5063
|
}
|
|
@@ -5542,6 +5550,23 @@ var remote = async (exec, request, knownHosts, argv, label, secret = false, stdi
|
|
|
5542
5550
|
argv.forEach(safeRemoteArg);
|
|
5543
5551
|
return checked4(exec, ["ssh", ...sshOptions(request, knownHosts), destination2(request.target), "--", ...argv], label, { secret, stdin });
|
|
5544
5552
|
};
|
|
5553
|
+
var remoteRegularFileExists = async (exec, request, knownHosts, path) => {
|
|
5554
|
+
safeRemoteArg(path);
|
|
5555
|
+
const result = await exec([
|
|
5556
|
+
"ssh",
|
|
5557
|
+
...sshOptions(request, knownHosts),
|
|
5558
|
+
destination2(request.target),
|
|
5559
|
+
"--",
|
|
5560
|
+
"/usr/bin/test",
|
|
5561
|
+
"-f",
|
|
5562
|
+
path
|
|
5563
|
+
]);
|
|
5564
|
+
if (result.exitCode === 0)
|
|
5565
|
+
return true;
|
|
5566
|
+
if (result.exitCode === 1)
|
|
5567
|
+
return false;
|
|
5568
|
+
throw new Error(`remote initialized-state probe failed${result.output ? `: ${result.output.trim()}` : ""}`);
|
|
5569
|
+
};
|
|
5545
5570
|
var copy = async (exec, request, knownHosts, local, remotePath, secret = false) => {
|
|
5546
5571
|
safeRemoteArg(remotePath);
|
|
5547
5572
|
await checked4(exec, [
|
|
@@ -5716,12 +5741,13 @@ async function applyOperatorMetalBootstrap(request, mode, options = {}) {
|
|
|
5716
5741
|
await copy(exec, request, knownHosts, join6(directory, name), `${remoteTemp}/${name}`, true);
|
|
5717
5742
|
for (const name of ["metal-config.json", ...staged.files])
|
|
5718
5743
|
await remote(exec, request, knownHosts, ["/usr/bin/sudo", "-n", "/usr/bin/install", "-m", "0600", `${remoteTemp}/${name}`, `${REMOTE_STAGE}/${name}`], "remote metal handoff", true);
|
|
5744
|
+
const initialized = await remoteRegularFileExists(exec, request, knownHosts, "/etc/forgezero/metal.initialized.json");
|
|
5719
5745
|
const output = await remote(exec, request, knownHosts, [
|
|
5720
5746
|
"/usr/bin/sudo",
|
|
5721
5747
|
"-n",
|
|
5722
5748
|
"/usr/local/bin/fz",
|
|
5723
5749
|
"bootstrap",
|
|
5724
|
-
"metal",
|
|
5750
|
+
initialized ? "repair" : "metal",
|
|
5725
5751
|
"--bootstrap-config",
|
|
5726
5752
|
`${REMOTE_STAGE}/metal-config.json`,
|
|
5727
5753
|
"--apply"
|
|
@@ -1697,7 +1697,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
|
|
|
1697
1697
|
}
|
|
1698
1698
|
|
|
1699
1699
|
// src/version.ts
|
|
1700
|
-
var VERSION3 = "0.1.
|
|
1700
|
+
var VERSION3 = "0.1.49";
|
|
1701
1701
|
|
|
1702
1702
|
// src/egress-policy.ts
|
|
1703
1703
|
import { realpathSync as realpathSync2 } from "node:fs";
|
package/dist/provision.js
CHANGED
|
@@ -1697,7 +1697,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
|
|
|
1697
1697
|
}
|
|
1698
1698
|
|
|
1699
1699
|
// src/version.ts
|
|
1700
|
-
var VERSION3 = "0.1.
|
|
1700
|
+
var VERSION3 = "0.1.49";
|
|
1701
1701
|
|
|
1702
1702
|
// src/egress-policy.ts
|
|
1703
1703
|
import { realpathSync as realpathSync2 } 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.49";
|