nodes_registry/lib.rs
1//! Nodes Registry Module
2//!
3//! This module manages node information in the Hyperspot deployment.
4//! A node represents a deployment unit (host, VM, container) where Hyperspot is running.
5//!
6//! Each node contains:
7//! - System information (OS, CPU, memory, etc.)
8//! - System capabilities (hardware, software features)
9//! - Node metadata (ID, hostname, IP, etc.)
10//!
11//! The module provides REST API endpoints to:
12//! - List all nodes
13//! - Get node information by ID
14//! - Access node sysinfo via /nodes/{id}/sysinfo
15//! - Access node syscap via /nodes/{id}/syscap
16#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
17
18// === PUBLIC CONTRACT ===
19pub use nodes_registry_sdk::{
20 BatteryInfo, CpuInfo, GpuInfo, HostInfo, MemoryInfo, Node, NodeSysCap, NodeSysInfo,
21 NodesRegistryClient, NodesRegistryError, OsInfo, SysCap,
22};
23
24// === MODULE DEFINITION ===
25pub mod module;
26pub use module::NodesRegistry;
27
28// === INTERNAL MODULES ===
29#[doc(hidden)]
30pub mod api;
31#[doc(hidden)]
32pub mod config;
33#[doc(hidden)]
34pub mod domain;