FirmwareTracker is an Enterprise web application designed for tracking, auditing, and continuously monitoring firmware versions across IT and network infrastructure (Switches, Routers, Firewalls, UPS, ATS, Servers, PDUs, etc.).
- 📊 Interactive Analytics Dashboard: Track fleet status via clickable KPI cards, distribution charts by Category and Vendor, and counters for incomplete data or End of Life (EOL) devices.
- 🧩 Multiple Firmware Component Support: Manage complex devices (e.g., ATS/UPS) with multiple distinct firmware modules (APC OS, Application Module, Boot Monitor, BIOS, IPMI).
- 🌐 Smart NetBox Importer (API, JSON, Custom CSV):
- Direct synchronization via NetBox REST API using Bearer Token authentication.
- Import wizard with an Interactive CSV Field Mapping Table: preview data rows, toggle columns on/off, and map CSV headers to FirmwareTracker target fields.
- Automatic CIDR subnet stripping (e.g.,
192.168.1.1/24->192.168.1.1) and automatic missing category creation.
- 🎯 Firmware Baseline Matrix by Model:
- Centralized definition of recommended target versions and firmware download URLs per model.
- Automatic inheritance and propagation across all matching devices.
- Smart version string normalization (
v2.5.0==2.5.0).
- 🛡️ Safe Bulk Deletion:
- Multi-selection checkboxes with confirmation modal listing explicit device names.
- Category and filtered mass deletion options.
- 📄 Advanced Reporting (PDF, Multi-Tab XLSX, CSV):
- Executive Summary PDF: Styled PDF report with KPI cards, category breakdown, and critical/EOL device highlights.
- Multi-Worksheet Excel XLSX: Dedicated tabs for each Category with conditional status cell coloring.
- ⏱️ Automation & Agent REST API:
- Background scheduler (APScheduler) for periodic automatic NetBox sync.
- Endpoint
/api/v1/agent/updateprotected by API Key (X-API-Key) for Ansible, Zabbix, or SNMP scripts.
- Backend: Python 3.11/3.13, FastAPI, SQLAlchemy (ORM), Pydantic v2, APScheduler, ReportLab, OpenPyXL.
- Frontend: React 18, TypeScript, Vite, TailwindCSS, Lucide Icons, Recharts.
- Database: PostgreSQL 16 (Production / Docker Compose) / SQLite (Local Dev).
- Containerization: Alpine Linux Docker Images.
- 🛠️ ADMIN.md - System Administration, Docker Compose Deployment,
MakefileGuide, GitHub Actions CI/CD & Releases. - 📖 USER_MANUAL.md - Complete End-User & Network Operator Manual.
Distributed under the MIT License. See LICENSE for details.