mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
Adds IncludeAllDeployments option to show all deployments, not just problem ones (where replicas don't match desired). This provides parity with the existing --kube-include-all-pods flag. - Add IncludeAllDeployments to kubernetesagent.Config - Add --kube-include-all-deployments flag and PULSE_KUBE_INCLUDE_ALL_DEPLOYMENTS env var - Update collectDeployments to respect the new flag - Add test for IncludeAllDeployments functionality - Update UNIFIED_AGENT.md documentation Addresses feedback from PR #855
2.8 KiB
2.8 KiB
🚚 Migrating Pulse
This guide covers migrating Pulse to a new host using the built-in encrypted export/import workflow.
🚀 Quick Migration Guide
❌ DON'T: Copy Files
Never copy /etc/pulse (or /data in Docker/Kubernetes) manually. Encryption keys and credentials can break.
✅ DO: Use Export/Import
1. Export (Old Server)
- Go to Settings → System → Backups.
- Click Create Backup.
- Enter a strong passphrase and download the encrypted backup.
2. Import (New Server)
- Install a fresh Pulse instance.
- Go to Settings → System → Backups.
- Click Restore Configuration and upload your file.
- Enter the passphrase.
📦 What Gets Migrated
| Included ✅ | Not Included ❌ |
|---|---|
| Nodes & credentials | Historical metrics history (metrics.db) |
| Alerts & overrides | Browser sessions and local cookies |
| Notifications (email, webhooks, Apprise) | Local login username/password (.env) |
System settings (system.json) |
Update history/backup folders |
| API token records | |
| OIDC config | |
| Guest metadata/notes |
🔄 Common Scenarios
Moving to New Hardware
Export from old → Install new → Import.
Docker ↔ Systemd ↔ Kubernetes
The export file works across all installation methods. You can migrate from Docker to Kubernetes or vice versa seamlessly.
Disaster Recovery
- Install Pulse using Docker or your preferred method (see INSTALL.md).
- Import your latest backup.
- Restored in < 5 minutes.
📋 Post-Migration Checklist
Because local login credentials are stored in .env (not part of exports), you must:
- Re-create Admin User: If not using
.envoverrides, create your admin account on the new instance. - Confirm API access:
- If you created API tokens in the UI, those token records are included in the export and should continue working.
- If you used
.env-basedAPI_TOKENS/API_TOKEN, reconfigure them on the new host.
- Update Agents:
- Unified Agent: Update the
--tokenflag in your service definition. - Docker: Update
PULSE_TOKENin your container config. - Tip: You can use the "Install New Agent" wizard to generate updated install commands.
- Unified Agent: Update the
🔒 Security
- Encryption: Exports are encrypted with passphrase-based encryption (PBKDF2 + AES-GCM).
- Storage: Safe to store in cloud backups or password managers.
- Passphrase: Use a strong, unique passphrase (min 12 chars).
🔧 Troubleshooting
- "Invalid passphrase": Ensure exact match (case-sensitive).
- Missing Nodes: Verify export date.
- Connection Errors: Update node IPs in Settings if they changed.
- Logging: Adjust
LOG_LEVEL/LOG_FORMATvia environment variables if needed.