@osva-ai/cli 1.1.0 → 1.1.2
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/LICENSE +202 -0
- package/README.md +36 -0
- package/dist/bin/osva.js +26 -0
- package/dist/bin/osva.js.map +1 -1
- package/dist/commands/index.js +6 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/doctor/redact.d.ts.map +1 -1
- package/dist/doctor/redact.js +3 -1
- package/dist/doctor/redact.js.map +1 -1
- package/dist/doctor/run-doctor.d.ts +2 -1
- package/dist/doctor/run-doctor.d.ts.map +1 -1
- package/dist/doctor/run-doctor.js +1 -1
- package/dist/doctor/run-doctor.js.map +1 -1
- package/dist/doctor/streaming-redact.d.ts +11 -0
- package/dist/doctor/streaming-redact.d.ts.map +1 -0
- package/dist/doctor/streaming-redact.js +29 -0
- package/dist/doctor/streaming-redact.js.map +1 -0
- package/dist/platform/compose-inspect.d.ts +9 -0
- package/dist/platform/compose-inspect.d.ts.map +1 -0
- package/dist/platform/compose-inspect.js +114 -0
- package/dist/platform/compose-inspect.js.map +1 -0
- package/dist/platform/doctor.d.ts +10 -0
- package/dist/platform/doctor.d.ts.map +1 -0
- package/dist/platform/doctor.js +154 -0
- package/dist/platform/doctor.js.map +1 -0
- package/dist/platform/format.d.ts +10 -0
- package/dist/platform/format.d.ts.map +1 -0
- package/dist/platform/format.js +73 -0
- package/dist/platform/format.js.map +1 -0
- package/dist/platform/index.d.ts +9 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +143 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/lifecycle.d.ts +20 -0
- package/dist/platform/lifecycle.d.ts.map +1 -0
- package/dist/platform/lifecycle.js +136 -0
- package/dist/platform/lifecycle.js.map +1 -0
- package/dist/platform/logs.d.ts +12 -0
- package/dist/platform/logs.d.ts.map +1 -0
- package/dist/platform/logs.js +81 -0
- package/dist/platform/logs.js.map +1 -0
- package/dist/platform/readiness.d.ts +9 -0
- package/dist/platform/readiness.d.ts.map +1 -0
- package/dist/platform/readiness.js +58 -0
- package/dist/platform/readiness.js.map +1 -0
- package/dist/platform/resolve-installation.d.ts +5 -0
- package/dist/platform/resolve-installation.d.ts.map +1 -0
- package/dist/platform/resolve-installation.js +115 -0
- package/dist/platform/resolve-installation.js.map +1 -0
- package/dist/platform/services.d.ts +7 -0
- package/dist/platform/services.d.ts.map +1 -0
- package/dist/platform/services.js +21 -0
- package/dist/platform/services.js.map +1 -0
- package/dist/platform/status.d.ts +7 -0
- package/dist/platform/status.d.ts.map +1 -0
- package/dist/platform/status.js +60 -0
- package/dist/platform/status.js.map +1 -0
- package/dist/platform/types.d.ts +37 -0
- package/dist/platform/types.d.ts.map +1 -0
- package/dist/platform/types.js +8 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/platform/upgrade/backup-policy.d.ts +4 -0
- package/dist/platform/upgrade/backup-policy.d.ts.map +1 -0
- package/dist/platform/upgrade/backup-policy.js +20 -0
- package/dist/platform/upgrade/backup-policy.js.map +1 -0
- package/dist/platform/upgrade/catalog.d.ts +26 -0
- package/dist/platform/upgrade/catalog.d.ts.map +1 -0
- package/dist/platform/upgrade/catalog.js +56 -0
- package/dist/platform/upgrade/catalog.js.map +1 -0
- package/dist/platform/upgrade/options.d.ts +8 -0
- package/dist/platform/upgrade/options.d.ts.map +1 -0
- package/dist/platform/upgrade/options.js +17 -0
- package/dist/platform/upgrade/options.js.map +1 -0
- package/dist/platform/upgrade/preflight.d.ts +25 -0
- package/dist/platform/upgrade/preflight.d.ts.map +1 -0
- package/dist/platform/upgrade/preflight.js +91 -0
- package/dist/platform/upgrade/preflight.js.map +1 -0
- package/dist/platform/upgrade/run-upgrade.d.ts +22 -0
- package/dist/platform/upgrade/run-upgrade.d.ts.map +1 -0
- package/dist/platform/upgrade/run-upgrade.js +253 -0
- package/dist/platform/upgrade/run-upgrade.js.map +1 -0
- package/dist/platform/upgrade/state.d.ts +31 -0
- package/dist/platform/upgrade/state.d.ts.map +1 -0
- package/dist/platform/upgrade/state.js +129 -0
- package/dist/platform/upgrade/state.js.map +1 -0
- package/dist/platform/upgrade/version.d.ts +11 -0
- package/dist/platform/upgrade/version.d.ts.map +1 -0
- package/dist/platform/upgrade/version.js +70 -0
- package/dist/platform/upgrade/version.js.map +1 -0
- package/dist/platform/upgrade-guard.d.ts +2 -0
- package/dist/platform/upgrade-guard.d.ts.map +1 -0
- package/dist/platform/upgrade-guard.js +12 -0
- package/dist/platform/upgrade-guard.js.map +1 -0
- package/dist/setup/acceptance-install.d.ts +15 -0
- package/dist/setup/acceptance-install.d.ts.map +1 -0
- package/dist/setup/acceptance-install.js +44 -0
- package/dist/setup/acceptance-install.js.map +1 -0
- package/dist/setup/atomic-write.d.ts +4 -0
- package/dist/setup/atomic-write.d.ts.map +1 -0
- package/dist/setup/atomic-write.js +19 -0
- package/dist/setup/atomic-write.js.map +1 -0
- package/dist/setup/bootstrap-capture.d.ts +9 -0
- package/dist/setup/bootstrap-capture.d.ts.map +1 -0
- package/dist/setup/bootstrap-capture.js +64 -0
- package/dist/setup/bootstrap-capture.js.map +1 -0
- package/dist/setup/compose-exec.d.ts +21 -0
- package/dist/setup/compose-exec.d.ts.map +1 -0
- package/dist/setup/compose-exec.js +55 -0
- package/dist/setup/compose-exec.js.map +1 -0
- package/dist/setup/compose-project.d.ts +3 -0
- package/dist/setup/compose-project.d.ts.map +1 -0
- package/dist/setup/compose-project.js +12 -0
- package/dist/setup/compose-project.js.map +1 -0
- package/dist/setup/compose-template-root.d.ts +3 -0
- package/dist/setup/compose-template-root.d.ts.map +1 -0
- package/dist/setup/compose-template-root.js +8 -0
- package/dist/setup/compose-template-root.js.map +1 -0
- package/dist/setup/distribution.d.ts +13 -0
- package/dist/setup/distribution.d.ts.map +1 -0
- package/dist/setup/distribution.js +55 -0
- package/dist/setup/distribution.js.map +1 -0
- package/dist/setup/env-file.d.ts +23 -0
- package/dist/setup/env-file.d.ts.map +1 -0
- package/dist/setup/env-file.js +141 -0
- package/dist/setup/env-file.js.map +1 -0
- package/dist/setup/format.d.ts +4 -0
- package/dist/setup/format.d.ts.map +1 -0
- package/dist/setup/format.js +58 -0
- package/dist/setup/format.js.map +1 -0
- package/dist/setup/index.d.ts +17 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +45 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/install-path.d.ts +3 -0
- package/dist/setup/install-path.d.ts.map +1 -0
- package/dist/setup/install-path.js +26 -0
- package/dist/setup/install-path.js.map +1 -0
- package/dist/setup/installation-state.d.ts +29 -0
- package/dist/setup/installation-state.d.ts.map +1 -0
- package/dist/setup/installation-state.js +83 -0
- package/dist/setup/installation-state.js.map +1 -0
- package/dist/setup/installation-status.d.ts +14 -0
- package/dist/setup/installation-status.d.ts.map +1 -0
- package/dist/setup/installation-status.js +36 -0
- package/dist/setup/installation-status.js.map +1 -0
- package/dist/setup/materialize-install.d.ts +24 -0
- package/dist/setup/materialize-install.d.ts.map +1 -0
- package/dist/setup/materialize-install.js +108 -0
- package/dist/setup/materialize-install.js.map +1 -0
- package/dist/setup/probe-spawn.d.ts +16 -0
- package/dist/setup/probe-spawn.d.ts.map +1 -0
- package/dist/setup/probe-spawn.js +87 -0
- package/dist/setup/probe-spawn.js.map +1 -0
- package/dist/setup/read-options.d.ts +15 -0
- package/dist/setup/read-options.d.ts.map +1 -0
- package/dist/setup/read-options.js +69 -0
- package/dist/setup/read-options.js.map +1 -0
- package/dist/setup/run-onboarding.d.ts +22 -0
- package/dist/setup/run-onboarding.d.ts.map +1 -0
- package/dist/setup/run-onboarding.js +273 -0
- package/dist/setup/run-onboarding.js.map +1 -0
- package/dist/setup/run-provision.d.ts +17 -0
- package/dist/setup/run-provision.d.ts.map +1 -0
- package/dist/setup/run-provision.js +224 -0
- package/dist/setup/run-provision.js.map +1 -0
- package/dist/setup/run-setup.d.ts +26 -0
- package/dist/setup/run-setup.d.ts.map +1 -0
- package/dist/setup/run-setup.js +227 -0
- package/dist/setup/run-setup.js.map +1 -0
- package/dist/setup/secrets.d.ts +2 -0
- package/dist/setup/secrets.d.ts.map +1 -0
- package/dist/setup/secrets.js +8 -0
- package/dist/setup/secrets.js.map +1 -0
- package/dist/setup/setup-report.d.ts +19 -0
- package/dist/setup/setup-report.d.ts.map +1 -0
- package/dist/setup/setup-report.js +35 -0
- package/dist/setup/setup-report.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
- package/templates/agent-typescript/.gitignore +4 -0
- package/templates/compose-install/compose.yml +307 -0
- package/templates/compose-install/distribution.json +5 -0
- package/templates/compose-install/upgrade-catalog.json +39 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { statfsSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import net from "node:net";
|
|
4
|
+
import os from "node:os";
|
|
5
|
+
import { checkNodeRuntime } from "../doctor/run-doctor.js";
|
|
6
|
+
import { redactSecrets } from "../doctor/redact.js";
|
|
7
|
+
import { CLI_VERSION } from "../version.js";
|
|
8
|
+
import { defaultProbeSpawn, } from "./probe-spawn.js";
|
|
9
|
+
import { readInstallEnvFile } from "./env-file.js";
|
|
10
|
+
export const DEFAULT_SETUP_SUBPROCESS_TIMEOUT_MS = 5_000;
|
|
11
|
+
const SUPPORTED_PLATFORMS = new Set([
|
|
12
|
+
"win32",
|
|
13
|
+
"darwin",
|
|
14
|
+
"linux",
|
|
15
|
+
]);
|
|
16
|
+
export async function runSetupPipeline(options, deps = {}) {
|
|
17
|
+
const spawn = deps.spawn ?? defaultProbeSpawn;
|
|
18
|
+
const timeoutMs = deps.subprocessTimeoutMs ?? DEFAULT_SETUP_SUBPROCESS_TIMEOUT_MS;
|
|
19
|
+
const platform = deps.platform ?? process.platform;
|
|
20
|
+
const arch = deps.arch ?? process.arch;
|
|
21
|
+
const checks = [];
|
|
22
|
+
checks.push(checkHostPlatform(platform));
|
|
23
|
+
checks.push(checkHostArchitecture(arch));
|
|
24
|
+
checks.push(checkNodeRuntime());
|
|
25
|
+
checks.push(passCheck("cli_version", `OSVA CLI ${CLI_VERSION} (installation preflight and provisioning).`));
|
|
26
|
+
const dockerCli = checkDockerCli(spawn, timeoutMs);
|
|
27
|
+
checks.push(dockerCli);
|
|
28
|
+
if (dockerCli.status !== "PASS") {
|
|
29
|
+
checks.push(skipCheck("docker_engine", "Skipped because the Docker CLI is unavailable."));
|
|
30
|
+
checks.push(skipCheck("docker_compose", "Skipped because the Docker CLI is unavailable."));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
checks.push(checkDockerEngine(spawn, timeoutMs));
|
|
34
|
+
checks.push(checkDockerCompose(spawn, timeoutMs));
|
|
35
|
+
}
|
|
36
|
+
const probeLoopbackPort = deps.probeLoopbackPort ?? probeLoopbackPortAvailability;
|
|
37
|
+
const portReconciliation = {
|
|
38
|
+
authorizeExisting: options.authorizeExisting,
|
|
39
|
+
installDir: options.installDir,
|
|
40
|
+
};
|
|
41
|
+
checks.push(await checkPublishPort("publish_web_port", options.webPort, probeLoopbackPort, { ...portReconciliation, envKey: "OSVA_PUBLISH_WEB_PORT" }));
|
|
42
|
+
checks.push(await checkPublishPort("publish_mcp_port", options.mcpPort, probeLoopbackPort, { ...portReconciliation, envKey: "OSVA_PUBLISH_MCP_PORT" }));
|
|
43
|
+
checks.push(await checkPublishPort("publish_console_port", options.consolePort, probeLoopbackPort, { ...portReconciliation, envKey: "OSVA_PUBLISH_CONSOLE_PORT" }));
|
|
44
|
+
checks.push(checkHostMemory());
|
|
45
|
+
checks.push(checkHostDiskSpace(deps.cwdForDisk ?? options.installDir ?? process.cwd()));
|
|
46
|
+
return finalizeReport(checks);
|
|
47
|
+
}
|
|
48
|
+
function checkHostPlatform(platform) {
|
|
49
|
+
if (SUPPORTED_PLATFORMS.has(platform)) {
|
|
50
|
+
return passCheck("host_platform", `Host OS ${platform} is supported for OSVA Compose installation.`);
|
|
51
|
+
}
|
|
52
|
+
return warnCheck("host_platform", `Host OS '${platform}' is not a tested installation platform.`, "OSVA self-hosted Compose is validated on Windows, macOS, and Linux.");
|
|
53
|
+
}
|
|
54
|
+
function checkHostArchitecture(arch) {
|
|
55
|
+
return passCheck("host_architecture", `Host CPU architecture is ${arch}.`);
|
|
56
|
+
}
|
|
57
|
+
function checkDockerCli(spawn, timeoutMs) {
|
|
58
|
+
const result = spawn("docker", ["--version"], timeoutMs);
|
|
59
|
+
const timedOut = mapDockerProbeTimeout(result, "docker_cli");
|
|
60
|
+
if (timedOut !== undefined) {
|
|
61
|
+
return timedOut;
|
|
62
|
+
}
|
|
63
|
+
if (isExecutableMissing(result)) {
|
|
64
|
+
return failCheck("docker_cli", "Docker CLI was not found on PATH.", "Install Docker Desktop or Docker Engine and ensure `docker` is on PATH.");
|
|
65
|
+
}
|
|
66
|
+
if (result.status !== 0) {
|
|
67
|
+
return failCheck("docker_cli", redactSecrets(trimProbeMessage(result, "Docker CLI `--version` failed.")), "Reinstall Docker or fix your Docker installation.");
|
|
68
|
+
}
|
|
69
|
+
const versionLine = redactSecrets(firstLine(result.stdout) || firstLine(result.stderr));
|
|
70
|
+
return passCheck("docker_cli", versionLine.length > 0
|
|
71
|
+
? `Docker CLI available (${versionLine}).`
|
|
72
|
+
: "Docker CLI available.");
|
|
73
|
+
}
|
|
74
|
+
function checkDockerEngine(spawn, timeoutMs) {
|
|
75
|
+
const result = spawn("docker", ["info", "--format", "{{.ServerVersion}}"], timeoutMs);
|
|
76
|
+
const timedOut = mapDockerProbeTimeout(result, "docker_engine");
|
|
77
|
+
if (timedOut !== undefined) {
|
|
78
|
+
return timedOut;
|
|
79
|
+
}
|
|
80
|
+
if (isExecutableMissing(result)) {
|
|
81
|
+
return failCheck("docker_engine", "Docker CLI was not found on PATH.", "Install Docker Desktop or Docker Engine and ensure `docker` is on PATH.");
|
|
82
|
+
}
|
|
83
|
+
const serverVersion = result.stdout.trim();
|
|
84
|
+
if (result.status !== 0 || serverVersion.length === 0) {
|
|
85
|
+
return failCheck("docker_engine", redactSecrets(trimProbeMessage(result, "Docker Engine is not reachable (daemon not running or permission denied).")), "Start Docker Desktop or the Docker daemon and confirm `docker info` succeeds.");
|
|
86
|
+
}
|
|
87
|
+
return passCheck("docker_engine", `Docker Engine is reachable (server ${serverVersion}).`);
|
|
88
|
+
}
|
|
89
|
+
function checkDockerCompose(spawn, timeoutMs) {
|
|
90
|
+
const result = spawn("docker", ["compose", "version"], timeoutMs);
|
|
91
|
+
const timedOut = mapDockerProbeTimeout(result, "docker_compose");
|
|
92
|
+
if (timedOut !== undefined) {
|
|
93
|
+
return timedOut;
|
|
94
|
+
}
|
|
95
|
+
if (isExecutableMissing(result)) {
|
|
96
|
+
return failCheck("docker_compose", "Docker CLI was not found on PATH.", "Install Docker Desktop or Docker Engine with Compose v2.");
|
|
97
|
+
}
|
|
98
|
+
if (result.status !== 0) {
|
|
99
|
+
return failCheck("docker_compose", redactSecrets(trimProbeMessage(result, "Docker Compose v2 plugin is unavailable (`docker compose`).")), "Install Docker Compose v2 (bundled with current Docker Desktop / Engine packages).");
|
|
100
|
+
}
|
|
101
|
+
const versionLine = redactSecrets(firstLine(result.stdout) || firstLine(result.stderr));
|
|
102
|
+
return passCheck("docker_compose", versionLine.length > 0
|
|
103
|
+
? `Docker Compose v2 available (${versionLine}).`
|
|
104
|
+
: "Docker Compose v2 available.");
|
|
105
|
+
}
|
|
106
|
+
async function checkPublishPort(id, port, probe, reconciliation) {
|
|
107
|
+
const probeResult = await probe(port);
|
|
108
|
+
if (probeResult.kind === "available") {
|
|
109
|
+
return passCheck(id, `Loopback (127.0.0.1) port ${String(port)} appears available; other interfaces were not checked.`);
|
|
110
|
+
}
|
|
111
|
+
if (probeResult.kind === "in_use") {
|
|
112
|
+
if (reconciliation?.authorizeExisting === true &&
|
|
113
|
+
(await installEnvPublishPortMatches(reconciliation.installDir, reconciliation.envKey, port))) {
|
|
114
|
+
return passCheck(id, `Loopback (127.0.0.1) port ${String(port)} is in use by this installation (expected during --yes reconciliation).`);
|
|
115
|
+
}
|
|
116
|
+
return failCheck(id, `Loopback (127.0.0.1) port ${String(port)} is already in use.`, `Stop the process using port ${String(port)} or choose another port via --web-port / --mcp-port or OSVA_PUBLISH_* env vars.`);
|
|
117
|
+
}
|
|
118
|
+
if (probeResult.kind === "permission_denied") {
|
|
119
|
+
return failCheck(id, `Loopback (127.0.0.1) port ${String(port)} could not be probed (permission denied).`, "Run the CLI with sufficient privileges to bind loopback ports, or choose a different port above 1024.");
|
|
120
|
+
}
|
|
121
|
+
const codeSuffix = probeResult.code === undefined ? "" : ` (${probeResult.code})`;
|
|
122
|
+
return failCheck(id, `Loopback (127.0.0.1) port ${String(port)} could not be probed${codeSuffix}.`, `Choose another port via --web-port / --mcp-port or OSVA_PUBLISH_* env vars, then retry.`);
|
|
123
|
+
}
|
|
124
|
+
async function installEnvPublishPortMatches(installDir, envKey, port) {
|
|
125
|
+
const envPath = path.join(installDir, ".env");
|
|
126
|
+
const env = await readInstallEnvFile(envPath);
|
|
127
|
+
return env?.get(envKey) === String(port);
|
|
128
|
+
}
|
|
129
|
+
function probeLoopbackPortAvailability(port) {
|
|
130
|
+
return new Promise((resolve) => {
|
|
131
|
+
const server = net.createServer();
|
|
132
|
+
let settled = false;
|
|
133
|
+
const finish = (result) => {
|
|
134
|
+
if (settled) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
settled = true;
|
|
138
|
+
server.close(() => {
|
|
139
|
+
resolve(result);
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
server.once("error", (error) => {
|
|
143
|
+
if (error.code === "EADDRINUSE") {
|
|
144
|
+
finish({ kind: "in_use" });
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (error.code === "EACCES") {
|
|
148
|
+
finish({ kind: "permission_denied" });
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
finish({ kind: "probe_error", code: error.code });
|
|
152
|
+
});
|
|
153
|
+
server.listen({ port, host: "127.0.0.1", exclusive: true }, () => {
|
|
154
|
+
finish({ kind: "available" });
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function checkHostMemory() {
|
|
159
|
+
const totalBytes = os.totalmem();
|
|
160
|
+
const freeBytes = os.freemem();
|
|
161
|
+
return passCheck("host_memory", `About ${formatBytes(freeBytes)} free of ${formatBytes(totalBytes)} total system memory (informational; no minimum enforced).`);
|
|
162
|
+
}
|
|
163
|
+
function checkHostDiskSpace(cwd) {
|
|
164
|
+
try {
|
|
165
|
+
const stats = statfsSync(cwd);
|
|
166
|
+
const freeBytes = stats.bfree * stats.bsize;
|
|
167
|
+
return passCheck("host_disk_space", `About ${formatBytes(freeBytes)} free on the filesystem containing ${cwd} (informational; no minimum enforced).`);
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
return warnCheck("host_disk_space", "Could not read free disk space for the current working directory.", "Ensure the installation directory resides on a writable volume with adequate space.");
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function mapDockerProbeTimeout(result, id) {
|
|
174
|
+
if (result.error?.code === "ETIMEDOUT") {
|
|
175
|
+
return failCheck(id, "Docker command timed out during preflight.", "Ensure Docker responds promptly and retry `osva setup`.");
|
|
176
|
+
}
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
function isExecutableMissing(result) {
|
|
180
|
+
return result.error?.code === "ENOENT";
|
|
181
|
+
}
|
|
182
|
+
function trimProbeMessage(result, fallback) {
|
|
183
|
+
const detail = firstLine(result.stderr) || firstLine(result.stdout);
|
|
184
|
+
if (detail.length === 0) {
|
|
185
|
+
return fallback;
|
|
186
|
+
}
|
|
187
|
+
return `${fallback} ${detail}`;
|
|
188
|
+
}
|
|
189
|
+
function firstLine(text) {
|
|
190
|
+
return (text
|
|
191
|
+
.split(/\r?\n/)
|
|
192
|
+
.map((line) => line.trim())
|
|
193
|
+
.find((line) => line.length > 0) ?? "");
|
|
194
|
+
}
|
|
195
|
+
function formatBytes(bytes) {
|
|
196
|
+
if (!Number.isFinite(bytes) || bytes < 0) {
|
|
197
|
+
return "unknown";
|
|
198
|
+
}
|
|
199
|
+
const gib = bytes / 1024 ** 3;
|
|
200
|
+
if (gib >= 1) {
|
|
201
|
+
return `${gib.toFixed(1)} GiB`;
|
|
202
|
+
}
|
|
203
|
+
const mib = bytes / 1024 ** 2;
|
|
204
|
+
return `${mib.toFixed(0)} MiB`;
|
|
205
|
+
}
|
|
206
|
+
function passCheck(id, message) {
|
|
207
|
+
return { id, status: "PASS", message };
|
|
208
|
+
}
|
|
209
|
+
function warnCheck(id, message, remediation) {
|
|
210
|
+
return { id, status: "WARN", message, remediation };
|
|
211
|
+
}
|
|
212
|
+
function failCheck(id, message, remediation) {
|
|
213
|
+
return { id, status: "FAIL", message, remediation };
|
|
214
|
+
}
|
|
215
|
+
function skipCheck(id, message) {
|
|
216
|
+
return { id, status: "SKIP", message };
|
|
217
|
+
}
|
|
218
|
+
function finalizeReport(checks) {
|
|
219
|
+
const hasFail = checks.some((check) => check.status === "FAIL");
|
|
220
|
+
const hasWarn = checks.some((check) => check.status === "WARN");
|
|
221
|
+
const result = hasFail ? "fail" : hasWarn ? "warn" : "pass";
|
|
222
|
+
return { result, checks };
|
|
223
|
+
}
|
|
224
|
+
export function setupExitCode(report) {
|
|
225
|
+
return report.result === "fail" ? 1 : 0;
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=run-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-setup.js","sourceRoot":"","sources":["../../src/setup/run-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/setup/secrets.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { randomBytes } from "node:crypto";
|
|
2
|
+
export function generateSecretHex(byteLength) {
|
|
3
|
+
if (!Number.isInteger(byteLength) || byteLength < 16) {
|
|
4
|
+
throw new Error("Secret byte length must be at least 16.");
|
|
5
|
+
}
|
|
6
|
+
return randomBytes(byteLength).toString("hex");
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/setup/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DoctorCheck, DoctorReport } from "../doctor/types.js";
|
|
2
|
+
export interface SetupReport extends DoctorReport {
|
|
3
|
+
readonly installDir?: string;
|
|
4
|
+
readonly platformReady?: boolean;
|
|
5
|
+
readonly installationComplete?: boolean;
|
|
6
|
+
readonly consoleReady?: boolean;
|
|
7
|
+
readonly administratorBootstrapped?: boolean;
|
|
8
|
+
readonly phase: "preflight" | "provision";
|
|
9
|
+
/** Excluded from JSON diagnostics; human output only. */
|
|
10
|
+
readonly setupTokenForOperator?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function mergeSetupReport(input: {
|
|
13
|
+
readonly preflight: DoctorReport;
|
|
14
|
+
readonly provisionChecks?: readonly DoctorCheck[];
|
|
15
|
+
readonly installDir: string;
|
|
16
|
+
readonly phase: "preflight" | "provision";
|
|
17
|
+
readonly setupTokenForOperator?: string;
|
|
18
|
+
}): SetupReport;
|
|
19
|
+
//# sourceMappingURL=setup-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-report.d.ts","sourceRoot":"","sources":["../../src/setup/setup-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC,GAAG,WAAW,CAgCd"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function mergeSetupReport(input) {
|
|
2
|
+
const checks = input.provisionChecks
|
|
3
|
+
? [...input.preflight.checks, ...input.provisionChecks]
|
|
4
|
+
: input.preflight.checks;
|
|
5
|
+
const result = finalizeResult(checks);
|
|
6
|
+
const platformReady = checks.some((check) => check.id === "platform_services_ready" && check.status === "PASS");
|
|
7
|
+
const installationComplete = checks.some((check) => check.id === "installation_complete" && check.status === "PASS");
|
|
8
|
+
const consoleReady = checks.some((check) => check.id === "console_ready" && check.status === "PASS");
|
|
9
|
+
const administratorBootstrapped = checks.some((check) => check.id === "administrator_bootstrapped" && check.status === "PASS");
|
|
10
|
+
return {
|
|
11
|
+
result,
|
|
12
|
+
checks,
|
|
13
|
+
installDir: input.installDir,
|
|
14
|
+
platformReady,
|
|
15
|
+
installationComplete,
|
|
16
|
+
consoleReady,
|
|
17
|
+
administratorBootstrapped,
|
|
18
|
+
phase: input.phase,
|
|
19
|
+
...(input.setupTokenForOperator === undefined
|
|
20
|
+
? {}
|
|
21
|
+
: { setupTokenForOperator: input.setupTokenForOperator }),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function finalizeResult(checks) {
|
|
25
|
+
const hasFail = checks.some((check) => check.status === "FAIL");
|
|
26
|
+
const hasWarn = checks.some((check) => check.status === "WARN");
|
|
27
|
+
if (hasFail) {
|
|
28
|
+
return "fail";
|
|
29
|
+
}
|
|
30
|
+
if (hasWarn) {
|
|
31
|
+
return "warn";
|
|
32
|
+
}
|
|
33
|
+
return "pass";
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=setup-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-report.js","sourceRoot":"","sources":["../../src/setup/setup-report.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,gBAAgB,CAAC,KAMhC;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe;QAClC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;QACvD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,EAAE,KAAK,yBAAyB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CACpE,CAAC;IACF,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,uBAAuB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAC3E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CACnE,CAAC;IACF,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAC3C,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,EAAE,KAAK,4BAA4B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CACvE,CAAC;IACF,OAAO;QACL,MAAM;QACN,MAAM;QACN,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa;QACb,oBAAoB;QACpB,YAAY;QACZ,yBAAyB;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,MAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|