Summary
GET /components/{id} currently returns component metadata but does not include hardware identity information in the x-medkit extension. Plugins and peer gateways that need to identify the physical hardware behind a component have no standardized way to query this.
Proposed solution
Extend the x-medkit section in GET /components/{id} responses to include hardware identity fields:
{
"id": "jetson_orin",
"x-medkit": {
"host": "jetson-orin-01",
"serial": "SN-12345",
"hardware_id": "jetson-orin",
"board": "NVIDIA Jetson Orin"
}
}
This could be implemented via a HostInfoProvider interface that discovery strategies populate from:
- System files (
/sys/firmware/devicetree/base/model, /etc/machine-id)
- Manifest declarations
- Runtime detection
The fields should be optional - if hardware info is not available, the x-medkit section simply omits them.
Additional context
This enables peer gateways to identify each other's hardware capabilities during aggregation and plugin coordination. The serial and hardware_id fields are particularly useful for multi-gateway deployments where components need to be distinguished by physical hardware.
Summary
GET /components/{id}currently returns component metadata but does not include hardware identity information in thex-medkitextension. Plugins and peer gateways that need to identify the physical hardware behind a component have no standardized way to query this.Proposed solution
Extend the
x-medkitsection inGET /components/{id}responses to include hardware identity fields:{ "id": "jetson_orin", "x-medkit": { "host": "jetson-orin-01", "serial": "SN-12345", "hardware_id": "jetson-orin", "board": "NVIDIA Jetson Orin" } }This could be implemented via a
HostInfoProviderinterface that discovery strategies populate from:/sys/firmware/devicetree/base/model,/etc/machine-id)The fields should be optional - if hardware info is not available, the
x-medkitsection simply omits them.Additional context
This enables peer gateways to identify each other's hardware capabilities during aggregation and plugin coordination. The
serialandhardware_idfields are particularly useful for multi-gateway deployments where components need to be distinguished by physical hardware.