feat: colorful progress output with icons and SSH command
Progress callbacks from kickstart now show:
◆ 78:55:36:08:35:14 partitioning -- preparing disk layout
◆◆◆ 78:55:36:08:35:14 post-install -- configuring system
✔ 78:55:36:08:35:14 complete -- ready at 10.0.1.88
ssh michal@10.0.1.88
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,18 @@ export function registerApiRoutes(
|
||||
const stageName = stage ?? "unknown";
|
||||
const detailStr = detail ?? "";
|
||||
|
||||
logger.info(`Progress: ${mac} ${stageName}${detailStr ? ` -- ${detailStr}` : ""}`);
|
||||
const GREEN = "\x1b[0;32m";
|
||||
const YELLOW = "\x1b[1;33m";
|
||||
const RED = "\x1b[0;31m";
|
||||
const BOLD = "\x1b[1m";
|
||||
const RESET = "\x1b[0m";
|
||||
const icons: Record<string, string> = {
|
||||
partitioning: "◆", installing: "◆◆", "post-install": "◆◆◆",
|
||||
complete: "✔", error: "✘",
|
||||
};
|
||||
const icon = icons[stageName] ?? "·";
|
||||
const color = stageName === "complete" ? GREEN : stageName === "error" ? RED : YELLOW;
|
||||
console.log(` ${color}${icon}${RESET} ${mac} ${BOLD}${stageName}${RESET}${detailStr ? ` -- ${detailStr}` : ""}`);
|
||||
|
||||
state.update((s) => {
|
||||
const queueEntry = s.install_queue[mac];
|
||||
@@ -100,7 +111,8 @@ export function registerApiRoutes(
|
||||
};
|
||||
s.installed[mac] = installedInfo;
|
||||
|
||||
logger.info(`INSTALL COMPLETE: ${mac} -> ${installedInfo.hostname} (${ip})`);
|
||||
const admin = state.load().installed[mac]?.role ? "michal" : "root";
|
||||
console.log(`\n \x1b[0;32m\x1b[1m ssh ${admin}@${ip}\x1b[0m\n`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user