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