harmony/harmony_inventory_agent/src/client.rs
Jean-Gabriel Gill-Couture 701d8cfab9
All checks were successful
Run Check Script / check (pull_request) Successful in 1m15s
feat: automatically discover inventory (#127)
## Fully automated inventory gathering now works!

Boot up harmony_inventory_agent with `cargo run -p harmony_inventory_agent`
Launch the DiscoverInventoryAgentScore , currently available this way :

`RUST_LOG=info cargo run -p example-cli -- -f Discover -y`

And you will have automatically all hosts saved to the database. Run `cargo sqlx setup` if you have not done it yet.

Co-authored-by: Ian Letourneau <ian@noma.to>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/127
Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
2025-08-31 22:45:07 +00:00

16 lines
443 B
Rust

use crate::hwinfo::PhysicalHost;
pub async fn get_host_inventory(host: &str, port: u16) -> Result<PhysicalHost, String> {
let url = format!("http://{host}:{port}/inventory");
let client = reqwest::Client::new();
let response = client
.get(url)
.send()
.await
.map_err(|e| format!("Failed to download file: {e}"))?;
let host = response.json().await.map_err(|e| e.to_string())?;
Ok(host)
}