@@ -165,16 +165,29 @@ echo "Build complete! Run with: sudo ./target/release/hardware_report" && \
165165sudo ./target/release/hardware_report
166166```
167167
168- ### Option 3: Pre-built Binaries
168+ ### Option 3: Pre-built Releases (Recommended for Quick Setup)
169169
170- ** Download Latest Release**
170+ Instead of building from source, you can download pre-built binaries and Debian packages from our [ GitHub Releases] ( https://github.com/sfcompute/hardware_report/releases ) page.
171+
172+ ** Available Release Artifacts:**
173+ - ` hardware_report-linux-x86_64-{version}.tar.gz ` - Pre-compiled Linux binary
174+ - ` hardware-report_{version}_amd64.deb ` - Debian package with automatic dependency management
175+ - SHA256 checksums for all artifacts
176+
177+ ** Option 3a: Pre-built Binary**
171178``` bash
172- # Get the latest release URL
173- RELEASE_URL=$( curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest | grep " browser_download_url.*tar.gz\" " | cut -d ' "' -f 4)
179+ # Download the latest release
180+ curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
181+ | grep " browser_download_url.*tar.gz" \
182+ | cut -d ' "' -f 4 \
183+ | wget -i -
184+
185+ # Download and verify checksum
186+ curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
187+ | grep " browser_download_url.*tar.gz.sha256" \
188+ | cut -d ' "' -f 4 \
189+ | wget -i -
174190
175- # Download and verify
176- wget $RELEASE_URL
177- wget $RELEASE_URL .sha256
178191sha256sum -c hardware_report-linux-x86_64-* .tar.gz.sha256
179192
180193# Install runtime dependencies
@@ -186,6 +199,22 @@ chmod +x hardware_report-linux-x86_64
186199sudo ./hardware_report-linux-x86_64
187200```
188201
202+ ** Option 3b: Debian Package (Ubuntu/Debian)**
203+ ``` bash
204+ # Download the latest Debian package
205+ curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
206+ | grep " browser_download_url.*\.deb" \
207+ | cut -d ' "' -f 4 \
208+ | wget -i -
209+
210+ # Install with automatic dependency resolution
211+ sudo apt update
212+ sudo apt install -y ./hardware-report_* _amd64.deb
213+
214+ # Run the tool
215+ sudo hardware_report
216+ ```
217+
189218### Advanced Build Methods
190219
191220** For Teams with Existing Nix Infrastructure**
@@ -315,12 +344,6 @@ The project includes GitHub Actions workflows for:
315344- Release builds triggered by version tags
316345- Binary artifact generation with SHA256 checksums
317346
318- ** Creating Releases**
319- ``` bash
320- git tag -a v1.0.0 -m " Release version 1.0.0"
321- git push origin v1.0.0
322- ```
323-
324347---
325348
326349## Sample Output
@@ -508,36 +531,50 @@ pci_id = "15b3:1021"
508531
509532## Deployment Considerations
510533
511- ## Deployment Considerations
512-
513534### Production Deployment Options
514535
515- ** Option 1: Debian Package (Recommended for Production)**
536+ ** Option 1: Pre-built Debian Package (Recommended for Production)**
516537``` bash
517- # Using Nix-built package (includes all dependencies)
518- nix build .# deb
519- sudo apt install -y ./result/hardware-report_0.1.7_amd64.deb
520- sudo hardware_report
538+ # Download latest Debian package from GitHub Releases
539+ curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
540+ | grep " browser_download_url.*\.deb" \
541+ | cut -d ' "' -f 4 \
542+ | wget -i -
543+
544+ # Install with automatic dependency resolution
545+ sudo apt update && sudo apt install -y ./hardware-report_* _amd64.deb
546+
547+ # Deploy across multiple servers
548+ ansible servers -m copy -a " src=hardware-report_*_amd64.deb dest=/tmp/"
549+ ansible servers -m apt -a " deb=/tmp/hardware-report_*_amd64.deb state=present"
521550```
522551
523- ** Option 2: Static Binary Deployment**
552+ ** Option 2: Pre-built Binary Deployment**
524553``` bash
525- # Build static binary for maximum portability
526- rustup target add x86_64-unknown-linux-musl
527- cargo build --target x86_64-unknown-linux-musl --release
554+ # Download and verify pre-built binary
555+ curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
556+ | grep " browser_download_url.*tar.gz" \
557+ | cut -d ' "' -f 4 \
558+ | wget -i -
528559
529- # Deploy to target systems (minimal dependencies required)
530- scp target/x86_64-unknown-linux-musl/release/hardware_report user@target:/usr/local/bin/
560+ # Extract and deploy to target systems
561+ tar xzf hardware_report-linux-x86_64-* .tar.gz
562+ scp hardware_report-linux-x86_64 user@target:/usr/local/bin/hardware_report
563+
564+ # Ensure runtime dependencies are installed on all target systems
565+ ansible all -m package -a " name=numactl,ipmitool,ethtool,util-linux,pciutils state=present"
531566```
532567
533- ** Option 3: Traditional Package Management **
568+ ** Option 3: Build-from-Source Deployment **
534569``` bash
535- # Install cargo-built binary
536- sudo cp target/release/hardware_report /usr/local/bin/
537- sudo chmod +x /usr/local/bin/hardware_report
570+ # For environments that require building from source
571+ # Using Nix-built package (includes all dependencies)
572+ nix build .# deb
573+ sudo apt install -y ./result/hardware-report_* _amd64.deb
538574
539- # Ensure runtime dependencies are installed on all target systems
540- ansible all -m package -a " name=numactl,ipmitool,ethtool,util-linux,pciutils state=present"
575+ # Or using traditional cargo build
576+ cargo build --release
577+ sudo cp target/release/hardware_report /usr/local/bin/
541578```
542579
543580### Automation Integration
0 commit comments