- README: add all features, correct tech stack (axios/setInterval), add IP addresses section, fix API routes - CLAUDE.md: fix architecture, remove SWR references, fix env var names, add IP address patterns - backlog: remove ip6= mention, clean duplicate entries, mark done - .env.example: remove unused PROXMOX_CONSOLE_TOKEN Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
73 lines
2.4 KiB
Markdown
73 lines
2.4 KiB
Markdown
# Feature Backlog — proxmox-monitor
|
|
|
|
## Completed
|
|
|
|
### Power Control
|
|
- Start/stop/restart buttons per row on VMs and LXCs.
|
|
- Power action uses `/api2/extjs` endpoint with empty body `{}`.
|
|
- Instant UI refresh via direct state sync + rAF flush for status messages.
|
|
|
|
### Console Link
|
|
- Console button per row opens Proxmox web UI console in new tab.
|
|
- URL format: `/?console=lxc|qemu&vmid={id}&node={node}&resize=scale&xtermjs=1`
|
|
- Browser session cookies handle Proxmox auth automatically in new tab.
|
|
|
|
### Manual Refresh
|
|
- Button in dashboard header that calls `mutate()` on all SWR caches.
|
|
|
|
### Custom Poll Interval
|
|
- Number input in header (milliseconds) that updates polling in real-time.
|
|
- Replaced SWR polling with a manual `setInterval` effect.
|
|
|
|
### Group by Node
|
|
- Collapse/expand VMs/LXCs by node with toggle. Each node is a collapsible card with running/stopped subtotals.
|
|
|
|
### Uptime Duration
|
|
- `formatUptime()` now formats to "3d 4h 12m" (days, hours, minutes). Falls back to "4h 12m" or "12m" when days aren't needed.
|
|
|
|
## Quick Wins (low effort, high value)
|
|
|
|
### Per-VM/LXC IP Addresses
|
|
- LXCs: fetches from `/interfaces` endpoint; falls back to `ip=` parsing from `net0`-`net7` in `/config`.
|
|
- VMs: fetches from `/agent/network-get-interfaces` (requires QEMU guest agent).
|
|
- IPv4 only. Displays IPs below the name in the table.
|
|
- **Status: done**
|
|
|
|
### Search / Filter
|
|
- Client-side text input filtering table rows by name/node/status
|
|
- Uses `useMemo` for performant filtering, auto-expands single node and filter-matched nodes
|
|
- **Status: done**
|
|
|
|
## Medium Effort
|
|
|
|
### Storage Usage
|
|
- Show disk usage per Proxmox storage backend (like node cards)
|
|
- Note: `disk.total` is not populated in the API (always 0) — needs `pvesh` or extra API calls
|
|
|
|
### Status Change Alert
|
|
- Toast/banner when a VM state changes between polls
|
|
|
|
### Resource Allocation
|
|
- Show vCPU count, total disk size alongside usage stats
|
|
- Note: disk.total is not populated by Proxmox API — only disk.used is available
|
|
|
|
### Per-VM CPU/Memory Trend
|
|
- Periodic polling to build a small trend chart
|
|
|
|
## Larger Features
|
|
|
|
### Cluster Status
|
|
- HA, quorum, and failover info per cluster
|
|
|
|
### Network Health
|
|
- Network interfaces and link status per node
|
|
|
|
### Recent Proxmox Events
|
|
- Audit log / recent events from the Proxmox cluster
|
|
|
|
### Docker Deployment
|
|
- Dockerfile + docker-compose for easy hosting
|
|
|
|
### Health Check Endpoint
|
|
- `/api/health` for reverse proxy / uptime monitoring
|