1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct NodeInfo {
6 pub node_id: String,
7 pub hostname: String,
8 pub arch: String,
9 pub total_vcpus: u32,
10 pub total_mem_mib: u64,
11 #[serde(alias = "lima_status")]
12 pub vm_status: Option<String>,
13 pub firecracker_version: Option<String>,
14 pub jailer_available: bool,
15 pub cgroup_v2: bool,
16 #[serde(default = "default_attestation_provider")]
17 pub attestation_provider: String,
18}
19
20fn default_attestation_provider() -> String {
21 "none".to_string()
22}
23
24#[derive(Debug, Clone, Default, Serialize, Deserialize)]
26pub struct NodeStats {
27 pub running_instances: u32,
28 pub warm_instances: u32,
29 pub sleeping_instances: u32,
30 pub stopped_instances: u32,
31 pub total_vcpus_used: u32,
32 pub total_mem_used_mib: u64,
33 pub tenant_count: u32,
34 pub pool_count: u32,
35}