mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
Updates documentation to reflect features implemented in recent commits: **Security & API Enhancements:** - Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After) - Audit logging for rollback actions and scheduler health - Runtime logging configuration tracking **Scheduler Health API:** - Document new v4.24.0 endpoint features - Per-instance circuit breaker status - Dead-letter queue tracking - Staleness metrics - Enhanced response format with backward compatibility **Version & Health Endpoints:** - Updated /api/version response fields - Optional health endpoint fields - Deployment type and update availability **Configuration & Installation:** - HTTP config fetch via PULSE_INIT_CONFIG_URL - Updated environment variable documentation - Enhanced FAQ entries **Monitoring & Operations:** - Adaptive polling architecture documentation - Rollback procedure references - Production deployment guidance All documentation changes align with implemented features from commits: -656ae0d25(PMG test fix) -dec85a4ef(PBS/PMG stubs + HTTP config) - Earlier commits: scheduler health API, rollback, rate limiting
3.8 KiB
3.8 KiB
Migrating Pulse
Updated for Pulse v4.24.0
Quick Migration Guide
❌ DON'T: Copy files directly
Never copy /etc/pulse or /var/lib/pulse directories between systems:
- The encryption key is tied to the files
- Credentials may be exposed
- Configuration may not work on different systems
✅ DO: Use Export/Import
Exporting (Old Server)
- Open Pulse web interface
- Go to Settings → Configuration Management
- Click Export Configuration
- Enter a strong passphrase (you'll need this for import!)
- Save the downloaded file securely
Importing (New Server)
- Install fresh Pulse instance
- Open Pulse web interface
- Go to Settings → Configuration Management
- Click Import Configuration
- Select your exported file
- Enter the same passphrase
- Click Import
- Post-migration verification (v4.24.0+):
- Check scheduler health:
curl -s http://localhost:7655/api/monitoring/scheduler/health | jq - Verify adaptive polling status: Settings → System → Monitoring
- Confirm all nodes are connected and polling correctly
- Check scheduler health:
What Gets Migrated
✅ Included:
- All PVE/PBS nodes and credentials
- Alert settings and thresholds
- Email configuration
- Webhook configurations
- System settings
- Guest metadata (custom URLs, notes)
❌ Not Included:
- Historical metrics data
- Alert history
- Authentication settings (passwords, API tokens)
- Updates rollback history (v4.24.0+)
- Each instance should configure its own authentication
- Note: Updates rollback data isn't transferred and must be rebuilt by running one successful update cycle on the new host
Common Scenarios
Moving to New Hardware
- Export from old server
- Shut down old Pulse instance
- Install Pulse on new hardware
- Import configuration
- Verify all nodes are connected
Docker to Systemd (or vice versa)
The export/import process works across all installation methods:
- Docker → Systemd ✅
- Systemd → Docker ✅
- Docker → LXC ✅
Backup Strategy
Weekly Backups:
- Export configuration weekly
- Store exports with date:
pulse-backup-2024-01-15.enc - Keep last 4 backups
- Store passphrase securely (password manager)
Disaster Recovery
- Install Pulse:
curl -sL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bash - Import latest backup
- System restored in under 5 minutes!
Security Notes
- Passphrase Protection: Exports are encrypted with PBKDF2 (100,000 iterations)
- Safe to Store: Encrypted exports can be stored in cloud backups
- Minimum 12 characters: Use a strong passphrase
- Password Manager: Store your passphrase securely
- Rollback History: Updates rollback data isn't included in exports; rebuild by running one successful update on the new host
Troubleshooting
"Invalid passphrase" error
- Ensure you're using the exact same passphrase
- Check for extra spaces or capitalization
Missing nodes after import
- Verify the export was taken after adding the nodes
- Check Settings to ensure nodes are listed
Connection errors after import
- Node IPs may have changed
- Update node addresses in Settings
Logging issues after migration (v4.24.0+)
- If you lose logs after migration, ensure the runtime logging configuration persisted
- Toggle Settings → System → Logging to your desired level
- Check environment variables:
LOG_LEVEL,LOG_FORMAT - Verify log file rotation settings are correct
Pro Tips
- Test imports: Try importing on a test instance first
- Document changes: Note any manual configs not in Pulse
- Version matching: Best to import into same or newer Pulse version
- Network access: Ensure new server can reach all nodes
Remember: Export/Import is the ONLY supported migration method. Direct file copying is not supported and may result in data loss.