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[];
|
|
};
|
|
}
|