feat: show provider gateway versions in webui

This commit is contained in:
Codex
2026-05-05 02:15:34 +00:00
parent cc1533c02f
commit bb47cb0c7e
10 changed files with 384 additions and 12 deletions
@@ -1,5 +1,6 @@
{
"name": "@unidesk/provider-gateway",
"version": "0.2.0",
"private": true,
"type": "module",
"scripts": {
@@ -70,6 +70,20 @@ interface HostSshStdin {
}
const hostSshSessions = new Map<string, HostSshSession>();
const gatewayMetadata = readGatewayMetadata();
function readGatewayMetadata(): { name: string; version: string } {
try {
const raw = readFileSync(new URL("../package.json", import.meta.url), "utf8");
const parsed = JSON.parse(raw) as { name?: unknown; version?: unknown };
return {
name: typeof parsed.name === "string" && parsed.name.length > 0 ? parsed.name : "@unidesk/provider-gateway",
version: typeof parsed.version === "string" && parsed.version.length > 0 ? parsed.version : "0.0.0-unknown",
};
} catch {
return { name: "@unidesk/provider-gateway", version: "0.0.0-unknown" };
}
}
function requiredEnv(name: string): string {
const value = process.env[name];
@@ -165,6 +179,10 @@ function currentLabels(): ProviderLabels {
hostSshKeyPresent: config.hostSshKey !== null && existsSync(config.hostSshKey),
hostSshTarget: hostSshConfigured ? `${config.hostSshUser}@${config.hostSshHost}:${config.hostSshPort}` : "not-configured",
runtime: "bun",
providerGatewayName: gatewayMetadata.name,
providerGatewayVersion: gatewayMetadata.version,
providerGatewayStartedAt: startedAt.toISOString(),
providerGatewayUpgradePolicy: "always-enabled",
gatewayUptimeSeconds: Math.floor((Date.now() - startedAt.getTime()) / 1000),
};
}