Produces a serialized hardware report of the physical infrastructure for automation
  • Rust 95.6%
  • Nix 3.1%
  • Makefile 1.3%
Find a file
Khoa Truong 7d9b05bc27
Some checks failed
Test / test (push) Has been cancelled
Merge pull request #28 from sfcompute/improve-http-payload
Improve http payload
2026-03-25 13:04:47 -07:00
.github/workflows Update release workflow 2026-03-25 12:35:18 -07:00
.idea added name to Author section 2024-11-21 09:54:52 -08:00
docs Update release workflow 2026-03-25 12:35:18 -07:00
examples Add system_id field to json payload 2026-03-25 12:00:02 -07:00
src fix format in code 2026-03-25 12:38:55 -07:00
.envrc added flake 2025-05-27 17:06:02 -07:00
.gitignore Add .direnv and .envrc to gitignore 2025-12-02 07:27:59 -08:00
Cargo.lock Update package tls 2026-03-25 10:36:56 -07:00
Cargo.toml Update package tls 2026-03-25 10:36:56 -07:00
flake.lock updated readme for Nix 2025-05-27 17:18:41 -07:00
flake.nix feat: add macOS compatibility while maintaining Linux functionality 2025-07-25 18:41:14 -07:00
LICENSE Prep for open source release 2024-11-27 12:35:07 -08:00
Makefile corrected build 2024-12-26 21:04:36 -08:00
MYQQGPTJ6J_hardware_report.json added enhancements to hardware report for Netbox Ingestify 2026-01-05 16:29:38 -08:00
MYQQGPTJ6J_hardware_report.toml added enhancements to hardware report for Netbox Ingestify 2026-01-05 16:29:38 -08:00
MYQQGPTJ6J_new_architecture_report.json fix: resolve Nix build compatibility issues 2025-07-25 21:34:54 -07:00
MYQQGPTJ6J_new_architecture_report.toml fix: resolve Nix build compatibility issues 2025-07-25 21:34:54 -07:00
nix-build-examples.md updated CICD for nix and debian artifact 2025-05-27 19:24:55 -07:00
NOTICE Prep for open source release 2024-11-27 12:35:07 -08:00
README.md Update release workflow 2026-03-25 12:35:18 -07:00
Unknown_S_N_hardware_report.toml fix: resolve macOS compatibility issues and improve hardware detection 2025-07-25 18:48:22 -07:00

Rust Nix Linux

Hardware Report

Automated infrastructure discovery tool built with hexagonal architecture.

Generates structured hardware inventory reports in TOML/JSON format. Designed for CMDB population, infrastructure auditing, and bare-metal server management at scale.

Platforms: Linux, macOS | Architectures: x86_64, ARM64 | GPUs: NVIDIA (including Blackwell)

Table of Contents

What Does This Do?

  • CPU Discovery - Model, sockets, cores, threads, NUMA topology, cache hierarchy
  • Memory Detection - Total capacity, module details, DDR type, speed, slot mapping
  • Storage Enumeration - NVMe/SSD/HDD detection, capacity, serial numbers, SMART status
  • GPU Detection - NVIDIA via nvidia-smi, memory, PCI topology, UUIDs
  • Network Interfaces - MAC/IP, speed (1G-400G+), InfiniBand, driver info
  • System Information - BIOS, BMC/IPMI, chassis serial, motherboard specs

Quick Start

Recommended: Nix build (automatically handles all dependencies)

# Install Nix (if not already installed)
curl -L https://install.determinate.systems/nix | sh -s -- install
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh

# Clone, build, and run
git clone https://github.com/sfcompute/hardware_report.git
cd hardware_report
nix build
sudo ./result/bin/hardware_report

Output: <chassis_serial>_hardware_report.toml

Pre-built binaries: Linux x86_64 and aarch64 tarballs on GitHub Releases

Other installation methods: See docs/INSTALLATION.md

Documentation

Document Description
docs/INSTALLATION.md All installation methods (Nix, Cargo, pre-built releases)
docs/ARCHITECTURE.md Hexagonal architecture overview
docs/API.md Library API reference
docs/DEPLOYMENT.md Production deployment guide

Contributing

nix develop
cargo test && cargo clippy && cargo fmt

License

MIT


Built for infrastructure management at scale | Issues | Releases