feat: fold gateway service commands into gateway

This commit is contained in:
Peter Steinberger
2026-01-21 17:45:06 +00:00
parent 6f58d508b8
commit 9e22f019db
27 changed files with 166 additions and 88 deletions

View File

@@ -37,14 +37,14 @@ export async function maybeInstallDaemon(params: {
);
if (action === "restart") {
await withProgress(
{ label: "Gateway daemon", indeterminate: true, delayMs: 0 },
{ label: "Gateway service", indeterminate: true, delayMs: 0 },
async (progress) => {
progress.setLabel("Restarting Gateway daemon…");
progress.setLabel("Restarting Gateway service…");
await service.restart({
env: process.env,
stdout: process.stdout,
});
progress.setLabel("Gateway daemon restarted.");
progress.setLabel("Gateway service restarted.");
},
);
shouldCheckLinger = true;
@@ -53,11 +53,11 @@ export async function maybeInstallDaemon(params: {
if (action === "skip") return;
if (action === "reinstall") {
await withProgress(
{ label: "Gateway daemon", indeterminate: true, delayMs: 0 },
{ label: "Gateway service", indeterminate: true, delayMs: 0 },
async (progress) => {
progress.setLabel("Uninstalling Gateway daemon…");
progress.setLabel("Uninstalling Gateway service…");
await service.uninstall({ env: process.env, stdout: process.stdout });
progress.setLabel("Gateway daemon uninstalled.");
progress.setLabel("Gateway service uninstalled.");
},
);
}
@@ -66,12 +66,12 @@ export async function maybeInstallDaemon(params: {
if (shouldInstall) {
let installError: string | null = null;
await withProgress(
{ label: "Gateway daemon", indeterminate: true, delayMs: 0 },
{ label: "Gateway service", indeterminate: true, delayMs: 0 },
async (progress) => {
if (!params.daemonRuntime) {
daemonRuntime = guardCancel(
await select({
message: "Gateway daemon runtime",
message: "Gateway service runtime",
options: GATEWAY_DAEMON_RUNTIME_OPTIONS,
initialValue: DEFAULT_GATEWAY_DAEMON_RUNTIME,
}),
@@ -79,7 +79,7 @@ export async function maybeInstallDaemon(params: {
) as GatewayDaemonRuntime;
}
progress.setLabel("Preparing Gateway daemon…");
progress.setLabel("Preparing Gateway service…");
const { programArguments, workingDirectory, environment } = await buildGatewayInstallPlan({
env: process.env,
@@ -89,7 +89,7 @@ export async function maybeInstallDaemon(params: {
warn: (message, title) => note(message, title),
});
progress.setLabel("Installing Gateway daemon…");
progress.setLabel("Installing Gateway service…");
try {
await service.install({
env: process.env,
@@ -98,15 +98,15 @@ export async function maybeInstallDaemon(params: {
workingDirectory,
environment,
});
progress.setLabel("Gateway daemon installed.");
progress.setLabel("Gateway service installed.");
} catch (err) {
installError = err instanceof Error ? err.message : String(err);
progress.setLabel("Gateway daemon install failed.");
progress.setLabel("Gateway service install failed.");
}
},
);
if (installError) {
note("Gateway daemon install failed: " + installError, "Gateway");
note("Gateway service install failed: " + installError, "Gateway");
note(gatewayInstallErrorHint(), "Gateway");
return;
}