@@ -632,21 +632,56 @@ pub struct ReadyQueueStateResponse {
632632 pub states_by_ready_queue : HashMap < String , HashMap < String , QueueState > > ,
633633}
634634
635- #[ derive( Serialize , Clone , Deserialize , Debug , PartialEq ) ]
635+ #[ derive( Serialize , Clone , Deserialize , Debug , PartialEq , ToSchema ) ]
636636pub struct MachineInfoV1 {
637+ /// The NodeID of the system
638+ #[ schema( example = "9745bb48-14d7-48f2-a1fb-7df8d5844217" ) ]
637639 pub node_id : String ,
640+ /// The hostname of the system, as reported by `gethostname(2)`
641+ #[ schema( example = "mta1.example.com" ) ]
638642 pub hostname : String ,
643+ /// The MAC address of the primary, non-loopback, network interface
644+ #[ schema( example = "02:02:02:02:02:02" ) ]
639645 pub mac_address : String ,
646+ /// The number of available CPUs as reported by
647+ /// <https://docs.rs/num_cpus/latest/num_cpus/fn.get.html>
648+ #[ schema( example = 64 ) ]
640649 pub num_cores : usize ,
650+ /// The kernel version
651+ #[ schema( example = "6.8.0-1016-aws" ) ]
641652 pub kernel_version : Option < String > ,
653+ /// Identifies the running platform
654+ #[ schema( example = "linux/x86_64" ) ]
642655 pub platform : String ,
656+ /// The OS distribution
657+ #[ schema( example = "ubuntu" ) ]
643658 pub distribution : String ,
659+ /// The OS version (which often includes the distribution)
660+ #[ schema( example = "Linux (Ubuntu 24.04)" ) ]
644661 pub os_version : String ,
662+ /// Total physical memory installed in the instance
663+ #[ schema( example = 1003929600 ) ]
645664 pub total_memory_bytes : u64 ,
665+ /// If we detected that we're running in a container, the name
666+ /// of the container runtime
646667 pub container_runtime : Option < String > ,
668+ /// Identifies the CPU. If you have a mixture of different CPUs,
669+ /// this will be a comma separated list of the different CPUs
670+ #[ schema( example = "Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz" ) ]
647671 pub cpu_brand : String ,
672+ /// Additional metadata hash(es) that can identify the running machine.
673+ /// For example, when running in AWS, the instance-id will be
674+ /// included.
675+ #[ schema(
676+ example = "aws_instance_id=i-09aebefac97cf0000,machine_uid=ec22130d1de33cf52413457ac040000"
677+ ) ]
648678 pub fingerprint : String ,
679+ /// The date/time at which the process was last started
649680 pub online_since : DateTime < Utc > ,
681+ /// Which process is running. eg: `kumod` vs `tsa-daemon` vs. `proxy-server`.
682+ #[ schema( example = "kumod" ) ]
650683 pub process_kind : String ,
684+ /// The version of KumoMTA that is running
685+ #[ schema( example = "2026.02.24-2d1a3174" ) ]
651686 pub version : String ,
652687}
0 commit comments