Files
beszel/site/src/types.d.ts
2024-07-19 17:00:19 -04:00

84 lines
1.4 KiB
TypeScript

import { RecordModel } from 'pocketbase'
export interface SystemRecord extends RecordModel {
name: string
host: string
status: 'up' | 'down' | 'paused' | 'pending'
port: string
info: SystemInfo
}
export interface SystemInfo {
/** cpu percent */
cpu: number
/** cpu threads */
t: number
/** cpu cores */
c: number
/** cpu model */
m: string
/** operating system */
o?: string
/** uptime */
u: number
/** memory percent */
mp: number
/** disk percent */
dp: number
}
export interface SystemStats {
/** cpu percent */
cpu: number
/** total memory (gb) */
m: number
/** memory used (gb) */
mu: number
/** memory percent */
mp: number
/** memory buffer + cache (gb) */
mb: number
/** disk size (gb) */
d: number
/** disk used (gb) */
du: number
/** disk percent */
dp: number
/** disk read (mb) */
dr: number
/** disk write (mb) */
dw: number
/** network sent (mb) */
ns: number
/** network received (mb) */
nr: number
}
export interface ContainerStatsRecord extends RecordModel {
system: string
stats: ContainerStats[]
}
interface ContainerStats {
/** name */
n: string
/** cpu percent */
c: number
/** memory used (gb) */
m: number
}
export interface SystemStatsRecord extends RecordModel {
system: string
stats: SystemStats
}
export interface AlertRecord extends RecordModel {
id: string
system: string
name: string
// user: string
}
export type ChartTimes = '1h' | '12h' | '24h' | '1w' | '30d'