mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-05 23:36:37 +00:00
102 lines
4.3 KiB
Markdown
102 lines
4.3 KiB
Markdown
# Upgrade to Pulse v6
|
|
|
|
This guide covers practical upgrade steps for existing Pulse installs moving to v6.
|
|
|
|
## Before You Upgrade
|
|
|
|
- Create an encrypted config backup: **Settings → System → Recovery → Create Backup** (older versions labeled this **Backups**)
|
|
- Confirm you can access the host/container console (for rollback and bootstrap token retrieval)
|
|
- If you have any external integrations or scripts: review the **API Changes** section below
|
|
|
|
## Upgrade Paths
|
|
|
|
### systemd and Proxmox LXC installs
|
|
|
|
Preferred path:
|
|
|
|
- **Settings → System → Updates**
|
|
|
|
If you prefer CLI, use the official installer for the target version:
|
|
|
|
```bash
|
|
curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | \
|
|
sudo bash -s -- --version vX.Y.Z
|
|
```
|
|
|
|
This installer updates the **Pulse server**. Agent updates use the `/install.sh` command generated in **Settings → Unified Agents → Installation commands**.
|
|
|
|
### Docker
|
|
|
|
```bash
|
|
docker pull rcourtman/pulse:latest
|
|
docker compose up -d
|
|
```
|
|
|
|
### Kubernetes (Helm)
|
|
|
|
```bash
|
|
helm repo update
|
|
helm upgrade pulse pulse/pulse -n pulse
|
|
```
|
|
|
|
## Post-Upgrade Checklist
|
|
|
|
- Confirm version: `GET /api/version`
|
|
- Confirm scheduler health: `GET /api/monitoring/scheduler/health`
|
|
- Confirm unified resources API is responding: `GET /api/resources`
|
|
- Confirm nodes are polling and no breakers are stuck open
|
|
- Confirm notifications still send (send a test)
|
|
- Confirm agents are connected (if used)
|
|
|
|
## Migration Notes (v6)
|
|
|
|
### Unified Navigation (Bookmarks and Deep Links)
|
|
|
|
Legacy page aliases have been removed. Use canonical unified routes only.
|
|
|
|
- Reference: `docs/MIGRATION_UNIFIED_NAV.md`
|
|
- Optional migration aid: enable the "Classic platform shortcuts" bar (Settings → System → General).
|
|
- Optional preference: switch to **Classic** navigation style (Settings → System → General). This is stored per browser.
|
|
|
|
### API Changes
|
|
|
|
Unified Resources is now the canonical model and endpoint family:
|
|
|
|
- Canonical: `/api/resources`
|
|
|
|
### License, Trial, and Entitlements
|
|
|
|
Pulse v6 feature gating is driven by the entitlements endpoint:
|
|
|
|
- `GET /api/license/entitlements`
|
|
|
|
For self-hosted v6, Pulse now sells monitored coverage by monitored system rather than by installed agent. Community includes 5 monitored systems, Relay includes 8, Pro includes 15, and Pro+ includes 50. Relay also raises history to 14 days, while Pro and Pro+ raise it to 90 days.
|
|
|
|
For self-hosted v6, `POST /api/license/trial/start` initiates hosted signup rather than minting a local trial directly. Pulse only reflects trial lifecycle entitlements after the hosted control plane returns a signed activation token to `/auth/trial-activate`.
|
|
|
|
If you are upgrading an existing free instance that already exceeds the new Community cap, Pulse should not hard-break monitoring on rollout day. During grace, existing monitoring continues and only newly added counted systems are blocked until you remove systems or upgrade.
|
|
|
|
#### v5 License Migration
|
|
|
|
Pulse v6 uses the activation/grant model for active licensing, but it can migrate valid Pulse v5 Pro and Lifetime JWT-style licenses.
|
|
|
|
- If you upgrade an existing v5 instance and Pulse finds a persisted v5 license with no v6 activation state yet, v6 will try to auto-exchange it on startup.
|
|
- If auto-exchange cannot complete, your old key is left in place and the instance will prompt you to retry activation manually.
|
|
- In the v6 license panel, you can paste either:
|
|
- a Pulse v6 activation key, or
|
|
- a valid Pulse v5 Pro/Lifetime license key, which Pulse will try to exchange automatically
|
|
- If the exchange service cannot complete the migration, retry from the v6 license panel or use the self-serve retrieval flow to fetch the current v6 activation key. Email is only a backup copy of that key.
|
|
- Existing paid v5 customers keep their grandfathered recurring continuity until cancellation. If they cancel and later return, current v6 pricing applies.
|
|
|
|
Practical recommendation:
|
|
|
|
- Before upgrading, keep console access available so you can retry activation from the v6 license panel if the exchange service is temporarily unavailable.
|
|
|
|
### Multi-Tenant (Opt-In)
|
|
|
|
Multi-tenant mode is opt-in and additionally license-gated:
|
|
|
|
- Enablement flag: `PULSE_MULTI_TENANT_ENABLED=true`
|
|
- Capability gate: `multi_tenant`
|
|
|
|
See any multi-tenant operational docs under `docs/architecture/` if you plan to run this mode.
|