feat(settings): Add runtime settings management, node & baremetal managers, and settings UI
This commit is contained in:
73
ts_interfaces/data/baremetal.ts
Normal file
73
ts_interfaces/data/baremetal.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
export interface IBareMetal {
|
||||
id: string;
|
||||
data: {
|
||||
hostname: string;
|
||||
|
||||
/**
|
||||
* IPMI management IP address
|
||||
*/
|
||||
ipmiAddress?: string;
|
||||
|
||||
/**
|
||||
* Encrypted IPMI credentials
|
||||
*/
|
||||
ipmiCredentials?: {
|
||||
username: string;
|
||||
passwordEncrypted: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Primary network IP address
|
||||
*/
|
||||
primaryIp: string;
|
||||
|
||||
/**
|
||||
* Provider of the physical server
|
||||
*/
|
||||
provider: 'hetzner' | 'aws' | 'digitalocean' | 'onpremise';
|
||||
|
||||
/**
|
||||
* Data center or location
|
||||
*/
|
||||
location: string;
|
||||
|
||||
/**
|
||||
* Hardware specifications
|
||||
*/
|
||||
specs: {
|
||||
cpuModel: string;
|
||||
cpuCores: number;
|
||||
memoryGB: number;
|
||||
storageGB: number;
|
||||
storageType: 'ssd' | 'hdd' | 'nvme';
|
||||
};
|
||||
|
||||
/**
|
||||
* Current power state
|
||||
*/
|
||||
powerState: 'on' | 'off' | 'unknown';
|
||||
|
||||
/**
|
||||
* Operating system information
|
||||
*/
|
||||
osInfo: {
|
||||
name: string;
|
||||
version: string;
|
||||
kernel?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Array of ClusterNode IDs running on this hardware
|
||||
*/
|
||||
assignedNodeIds: string[];
|
||||
|
||||
/**
|
||||
* Metadata for provider-specific information
|
||||
*/
|
||||
providerMetadata?: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user