Files
onebox/ts_interfaces/data/system.ts
T

62 lines
1.4 KiB
TypeScript
Raw Normal View History

/**
* System status data shapes for Onebox
*/
import type { TPlatformServiceStatus, TPlatformServiceType } from './platform.ts';
2026-05-24 11:49:43 +00:00
export interface IOneboxUpdateStatus {
currentVersion: string;
latestVersion: string | null;
updateAvailable: boolean;
checkedAt: number;
releaseUrl: string;
changelogUrl: string;
error?: string;
}
export interface IOneboxUpgradeStartResult {
accepted: boolean;
currentVersion: string;
targetVersion: string;
message: string;
pid?: number;
unitName?: string;
2026-05-24 11:49:43 +00:00
logPath?: string;
}
export interface ISystemStatus {
2026-05-24 11:49:43 +00:00
onebox: {
version: string;
update: IOneboxUpdateStatus;
};
docker: {
running: boolean;
version: unknown;
cpuUsage: number;
memoryUsage: number;
memoryTotal: number;
networkIn: number;
networkOut: number;
};
reverseProxy: {
http: { running: boolean; port: number };
https: { running: boolean; port: number; certificates: number };
routes: number;
};
dns: { configured: boolean };
ssl: { configured: boolean; certificateCount: number };
services: { total: number; running: number; stopped: number };
platformServices: Array<{
type: TPlatformServiceType;
displayName: string;
status: TPlatformServiceStatus;
resourceCount: number;
}>;
certificateHealth: {
valid: number;
expiringSoon: number;
expired: number;
expiringDomains: Array<{ domain: string; daysRemaining: number }>;
};
}