project_fire

module
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2025 License: MIT

README ΒΆ

F.I.R.E. Banner

F.I.R.E.

Full Intensity Rigorous Evaluation
Ignite your hardware's true endurance.

F.I.R.E. Logo

CI Pipeline Release Go Report Card


πŸ”₯ Overview

F.I.R.E. is a single-binary, Go-powered, all-in-one PC test bench designed for burn-in tests, endurance stress, and benchmark analysis. It runs on Linux and Windows, is fully portable (USB-bootable live image & portable EXE), and integrates optional AI-driven test planning and log analysis.

πŸš€ Key Features

  • πŸ”§ Modular Test Engine: CPU, memory, disk I/O, 3D benchmarks, GPU compute, stability loops
  • πŸ“… Scheduler & Orchestrator: One-off runs or cron-style recurring jobs
  • πŸ“Š Data Persistence & Reporting: SQLite logging, CSV export, HTMLβ†’PDF reports
  • πŸ† Certificate Generator: Issue branded X.509 pass/fail certificates
  • 🌐 Remote Diagnostic Agent: mTLS-secured REST endpoints for live sysinfo & logs
  • πŸ–₯️ Cross-Platform GUI: Pure-Go Fyne interface with dashboards, wizards, history, and compare views
  • πŸ“¦ Single-Binary Distribution: Cross-compiled Go executable for Linux, Windows, macOS
  • πŸ’Ώ Portable Live-USB: Boot a minimal Linux image with persistent overlay and F.I.R.E. bundled
  • πŸ€– AI-Powered Insights (optional): Test plan generation, log analysis, OpenAI/Azure/Ollama integration

πŸ“Έ Screenshots

Coming soon - GUI dashboard, test results, and certificate examples

πŸ› οΈ Quick Start

Installation

F.I.R.E. is available as native packages for all major platforms. See INSTALL.md for detailed instructions.

Linux
# AppImage (Universal - Recommended)
wget https://github.com/mscrnt/project_fire/releases/latest/download/fire-latest-x86_64.AppImage
chmod +x fire-latest-x86_64.AppImage
./fire-latest-x86_64.AppImage gui

# Debian/Ubuntu
wget https://github.com/mscrnt/project_fire/releases/latest/download/fire_latest_amd64.deb
sudo apt install ./fire_latest_amd64.deb

# Fedora/RHEL
wget https://github.com/mscrnt/project_fire/releases/latest/download/fire-latest-1.x86_64.rpm
sudo dnf install fire-latest-1.x86_64.rpm
Windows
# Download installer from releases page
# Or use PowerShell:
Invoke-WebRequest -Uri https://github.com/mscrnt/project_fire/releases/latest/download/fire-installer-latest.exe -OutFile fire-installer.exe
.\fire-installer.exe
macOS
# Download DMG from releases page
# Or use terminal:
curl -L https://github.com/mscrnt/project_fire/releases/latest/download/fire-latest-darwin-amd64.dmg -o fire.dmg
hdiutil mount fire.dmg
cp -R /Volumes/FIRE/FIRE.app /Applications/
hdiutil unmount /Volumes/FIRE
Docker
docker pull ghcr.io/mscrnt/project_fire/fire:latest
docker run --rm ghcr.io/mscrnt/project_fire/fire:latest test cpu --duration 30s
Build from Source
git clone https://github.com/mscrnt/project_fire.git
cd project_fire
go build -ldflags "-s -w" -o bench ./cmd/fire

πŸ“˜ Usage Examples

# Run CPU stress test
./bench test cpu --duration 5s --threads 8

# Schedule nightly memory test
./bench schedule add --name "Nightly Memory" --cron "0 2 * * *" --plugin memory

# Generate PDF report
./bench report generate --latest --format pdf

# Issue test certificate
./bench cert issue --latest

# Start remote diagnostic agent with mTLS
./bench agent serve --cert server.pem --key server.key --ca ca.pem

# Connect to remote agent
./bench agent connect --host 192.168.1.100 --endpoint sysinfo \
  --cert client.pem --key client.key --ca ca.pem

🌐 Remote Agent

The F.I.R.E. agent provides secure remote monitoring capabilities with mTLS authentication:

Features
  • Real-time System Info: CPU, memory, disk, and network statistics
  • Hardware Sensors: Temperature and fan speed monitoring
  • Log Collection: Stream application logs remotely
  • mTLS Security: Certificate-based mutual authentication
Quick Start
# Initialize CA (one time)
./bench cert init

# Generate certificates (see docs/agent-certificates.md)
# Start agent on target machine
./bench agent serve --cert server.pem --key server.key --ca ca.pem

# Connect from management workstation
./bench agent connect --host target.local --endpoint sysinfo \
  --cert client.pem --key client.key --ca ca.pem --pretty

πŸ—οΈ Architecture

project_fire/
β”œβ”€β”€ cmd/fire/          # CLI entry point
β”œβ”€β”€ pkg/               # Public packages
β”‚   β”œβ”€β”€ plugin/        # Test plugin interface
β”‚   β”œβ”€β”€ db/            # Database layer
β”‚   β”œβ”€β”€ schedule/      # Cron scheduler
β”‚   β”œβ”€β”€ report/        # Report generation
β”‚   β”œβ”€β”€ cert/          # Certificate issuance
β”‚   └── agent/         # Remote agent
β”œβ”€β”€ internal/          # Internal packages
β”‚   └── version/       # Version information
β”œβ”€β”€ assets/            # Branding and static files
β”‚   └── logos/         # Generated logos
β”œβ”€β”€ docs/              # Documentation
β”œβ”€β”€ scripts/           # Build scripts
└── .github/workflows/ # CI/CD pipelines

🎨 Branding

The F.I.R.E. project features custom AI-generated branding created with Stable Diffusion. Our visual identity combines flame imagery with technology elements to represent the intense testing capabilities of the platform.

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ–₯️ GUI

F.I.R.E. includes a native cross-platform GUI built with Fyne:

# Launch the GUI
./bench gui
GUI Features
  • Live Dashboard: Real-time system monitoring with charts
  • Test Wizard: Step-by-step test configuration
  • History View: Browse and analyze past test runs
  • Run Comparison: Compare metrics between different runs
  • AI Insights: Generate test plans with AI assistance
  • Certificate Manager: Issue and verify test certificates
GUI Requirements
  • OpenGL support (most modern systems)
  • Linux: libgl1-mesa-dev, xorg-dev
  • Windows: No additional requirements
  • macOS: No additional requirements

πŸ“¦ Available Packages

F.I.R.E. is distributed in multiple formats for easy installation:

Package Types
  • Linux: AppImage (universal), .deb (Debian/Ubuntu), .rpm (Fedora/RHEL), .tar.gz
  • Windows: NSIS installer (.exe), portable ZIP
  • macOS: DMG disk image, PKG installer
  • Container: Docker image on GitHub Container Registry
  • Source: Build from source with Go 1.21+
Verification

All releases include SHA256 checksums and optional GPG signatures. See INSTALL.md for verification instructions.

πŸ—ΊοΈ Roadmap

  • Phase 0: CI/CD Setup & Branding
  • Phase 1: Core CLI & Test Engine
  • Phase 2: Scheduler & Reporting
  • Phase 3: Remote Diagnostic Agent
  • Phase 4: Cross-Platform GUI
  • Phase 5: Packaging & Distribution
  • Phase 6: AI-Powered Analysis

F.I.R.E. Logo

F.I.R.E. - Delivering full-intensity, rigorous evaluations
Portable β€’ Cross-platform β€’ AI-enhanced β€’ CI/CD-automated

Directories ΒΆ

Path Synopsis
cmd
fire command
Package main implements the agent command for remote monitoring and management.
Package main implements the agent command for remote monitoring and management.
fire-gui command
Package main is the entry point for the FIRE GUI application.
Package main is the entry point for the FIRE GUI application.
fire-gui-debug command
Package main provides the debug build of the FIRE GUI with additional debugging endpoints.
Package main provides the debug build of the FIRE GUI with additional debugging endpoints.
internal
version
Package version provides version information for the FIRE benchmark suite.
Package version provides version information for the FIRE benchmark suite.
pkg
agent
Package agent provides mTLS-secured remote monitoring and management functionality.
Package agent provides mTLS-secured remote monitoring and management functionality.
cert
Package cert provides certificate generation and management for mTLS communication.
Package cert provides certificate generation and management for mTLS communication.
db
Package db provides database operations for storing benchmark results and schedules.
Package db provides database operations for storing benchmark results and schedules.
gui
Package gui provides the graphical user interface for the FIRE benchmarking tool.
Package gui provides the graphical user interface for the FIRE benchmarking tool.
plugin
Package plugin provides the core plugin interface and registry for benchmark tests.
Package plugin provides the core plugin interface and registry for benchmark tests.
plugin/cpu
Package cpu provides CPU benchmarking and stress testing functionality.
Package cpu provides CPU benchmarking and stress testing functionality.
plugin/memory
Package memory provides memory stress testing and bandwidth measurement plugins for FIRE.
Package memory provides memory stress testing and bandwidth measurement plugins for FIRE.
report
Package report provides report generation functionality for test results.
Package report provides report generation functionality for test results.
schedule
Package schedule provides scheduling functionality for automated benchmark tests.
Package schedule provides scheduling functionality for automated benchmark tests.
telemetry
Package telemetry provides anonymous hardware compatibility and crash reporting
Package telemetry provides anonymous hardware compatibility and crash reporting
Package main provides a utility to generate mTLS certificates for secure agent communication.
Package main provides a utility to generate mTLS certificates for secure agent communication.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL