37 lines
746 B
TypeScript
37 lines
746 B
TypeScript
|
import * as plugins from '../plugins.js';
|
||
|
|
||
|
import { type IDockerRegistryInfo } from './docker.js';
|
||
|
|
||
|
export interface IServerMetrics {
|
||
|
serverId: string;
|
||
|
cpuUsageInPercent: number;
|
||
|
memoryUsageinMB: number;
|
||
|
memoryAvailableInMB: number;
|
||
|
containerCount: number;
|
||
|
containerMetrics: Array<{
|
||
|
containerId: string;
|
||
|
containerName: string;
|
||
|
cpuUsageInPercent: number;
|
||
|
memoryUsageInMB: number;
|
||
|
}>;
|
||
|
}
|
||
|
|
||
|
export interface IServer {
|
||
|
id: string;
|
||
|
data: {
|
||
|
type: 'baremetal' | 'hetzner';
|
||
|
|
||
|
assignedClusterId: string;
|
||
|
|
||
|
/**
|
||
|
* a list of debian packages to be installed
|
||
|
*/
|
||
|
requiredDebianPackages: string[];
|
||
|
|
||
|
/**
|
||
|
* a list of SSH keys to deploy
|
||
|
*/
|
||
|
sshKeys: plugins.tsclass.network.ISshKey[];
|
||
|
};
|
||
|
}
|