Replace complex SystemRebuild with simple SSH + tmux popup approach
All checks were successful
Build and Release / build-and-release (push) Successful in 2m6s

- Remove all SystemRebuild command infrastructure from agent and dashboard
- Replace with direct tmux popup execution: ssh {user}@{host} {alias}
- Add configurable SSH user and rebuild alias in dashboard config
- Eliminate agent process crashes during rebuilds
- Simplify architecture by removing ZMQ command streaming complexity
- Clean up all related dead code and fix compilation warnings

Benefits:
- Process isolation: rebuild runs independently via SSH
- Crash resilience: agent/dashboard can restart without affecting rebuilds
- Configuration flexibility: SSH user and alias configurable per deployment
- Operational simplicity: standard tmux popup interface
This commit is contained in:
2025-10-27 14:25:45 +01:00
parent ac5d2d4db5
commit e61a845965
9 changed files with 73 additions and 425 deletions

View File

@@ -33,11 +33,25 @@ All keyboard navigation and service selection features successfully implemented:
- Service selection cursor implemented with focus-aware highlighting ✅
- Panel scrolling fixed for System, Services, and Backup panels ✅
- Build display working: "Build: 25.05.20251004.3bcc93c" ✅
- Agent version display working: "Agent: 3kvc03nd" ✅
- Agent version display working: "Agent: v0.1.14" ✅
- Cross-host version comparison implemented ✅
- Automated binary release system working ✅
- SMART data consolidated into disk collector ✅
**CRITICAL ISSUE - Remote Rebuild Functionality:**
-**System Rebuild**: Agent crashes during nixos-rebuild operations
-**Systemd Service**: cm-rebuild.service fails with exit status 1
-**Output Streaming**: Terminal popup shows agent messages but not rebuild output
- ⚠️ **Service Control**: Works correctly for start/stop/restart of services
**Problem Details:**
- Implemented systemd service approach to prevent agent crashes
- Terminal popup implemented with real-time streaming capability
- Service produces empty journal lines then exits with status 1
- Permission issues addressed by moving working directory to /tmp
- Issue persists despite multiple troubleshooting attempts
- Manual rebuilds work perfectly when done directly
**Current Layout:**
```
NixOS: