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 pub lima_status: Option<String>,
12 pub firecracker_version: Option<String>,
13 pub jailer_available: bool,
14 pub cgroup_v2: bool,
15 #[serde(default = "default_attestation_provider")]
16 pub attestation_provider: String,
17}
18
19fn default_attestation_provider() -> String {
20 "none".to_string()
21}
22
23#[derive(Debug, Clone, Default, Serialize, Deserialize)]
25pub struct NodeStats {
26 pub running_instances: u32,
27 pub warm_instances: u32,
28 pub sleeping_instances: u32,
29 pub stopped_instances: u32,
30 pub total_vcpus_used: u32,
31 pub total_mem_used_mib: u64,
32 pub tenant_count: u32,
33 pub pool_count: u32,
34}