5.1 KiB
Upgrade Paths
Quick reference for every migration scenario. Find your current version and repo source in the table, then follow the link for step-by-step instructions.
Where am I, and where do I go?
| Current version | Current repo | → Stay on current major | → Move to v3.x | → Move to v4.x |
|---|---|---|---|---|
| v2.x | Cloudsmith stable | Swap repo to GitHub Pages main |
Swap repo + config migration | TBD when v4 ships — will require v3 config first |
| v2.x | GitHub Pages main |
Already on correct repo ✅ | Config migration only | TBD when v4 ships — will require v3 config first |
| v3.x | Cloudsmith stable | Swap repo to GitHub Pages v3 |
Already on v3 — swap repo only | Change dist track to v4 + v3→v4 guide |
| v3.x | GitHub Pages v3 |
Already on correct repo ✅ | Already here ✅ | Change dist track to v4 + v3→v4 guide |
Not sure which version you have? Run this on any Proxmox node:
dpkg -l truenas-proxmox freenas-proxmox 2>/dev/null | grep '^ii'
Not sure which repo you're using?
cat /etc/apt/sources.list.d/truenas-proxmox*.list /etc/apt/sources.list.d/freenas-proxmox*.list 2>/dev/null
Cloudsmith → GitHub Pages
Cloudsmith is being phased out. GitHub Pages is the permanent home for this project's packages. Your installed package is not affected — this only changes where future updates come from.
Full instructions are in the README — Migrating from Cloudsmith section.
In short:
- Remove your existing Cloudsmith source file from
/etc/apt/sources.list.d/ - Remove the old Cloudsmith keyring from
/usr/share/keyrings/ - Import the GitHub Pages GPG key to
/etc/apt/keyrings/truenas-proxmox.gpg - Add the GitHub Pages source pointing at the right dist track (
mainfor v2,v3for v3) - Run
apt update
What changes between major versions
| v2.x → v3.x | v3.x → v4.x (future) | |
|---|---|---|
| Breaking change? | Yes — auth model, iSCSI model, package name | Yes — WebSocket API replaces REST |
| In-place upgrade? | No — VM disks must be moved | TBD |
| Plugin restarts VMs? | No — Move Disk is live | TBD |
| Config changes? | Yes — API key replaces username/password | TBD |
| Full guide | migrating-from-v2.md | Will be added when v4 ships |
v2.x → v3.x
See migrating-from-v2.md for the full step-by-step guide.
High-level steps:
- Install
truenas-proxmoxon every Proxmox node (from GitHub Pagesv3dist) - Create a TrueNAS API key
- Add a new v3 storage entry in Proxmox (keep the old v2 entry running alongside)
- Move VM disks one at a time using Proxmox Move Disk (VMs stay running)
- Remove the old v2 storage entry once all disks are moved
Do not run apt upgrade from a v2 Cloudsmith install without reading the migration guide first. v3.0 is a breaking change — your storage will need reconfiguration.
v3.x → v4.x (future)
v4.0 will replace the TrueNAS REST API with the WebSocket JSON-RPC 2.0 API introduced in TrueNAS SCALE 25.04. This is an architectural change and will be a major version with its own migration guide.
When v4.0 ships, this section will be updated with:
- What changes in v4.0 (API model, config fields, compatibility matrix)
- Whether an in-place upgrade is possible
- Step-by-step migration from v3.x
- Step-by-step migration from v2.x (if a direct v2→v4 path is supported)
To receive v4.x packages when they ship, you will need to change your sources.list dist track from v3 to v4:
# When v4.0 is released — do NOT run this until the v4 migration guide is published
echo "deb [signed-by=/etc/apt/keyrings/truenas-proxmox.gpg] \
https://thegrandwazoo.github.io/freenas-proxmox v4 main" \
| sudo tee /etc/apt/sources.list.d/truenas-proxmox.list
sudo apt update
apt upgrade on the v3 dist track will never pull in a v4 package — you must explicitly change the dist track. This is intentional.
Dist track reference
| Dist track | Codename alias | Contains | Who should use it |
|---|---|---|---|
main |
limelight |
v2.x packages only | Users staying on v2.x |
v2 |
limelight |
v2.x packages (alias for main) |
Same as main — explicit pin |
v3 |
error |
v3.x packages only | All current v3 installs |
v4 |
rivendell |
v4.x packages only | Added when v4.0 ships |
Both the dist track (v3) and its codename alias (error) work in sources.list — they resolve to the same packages.
Packages on one dist track are never promoted to another. Changing major versions always requires an explicit sources.list edit.
Existing v3 users — one-time prompt after v3.2.2 If
apt updatereportschanged its 'Codename' value from 'v3' to 'error', run:apt update --allow-releaseinfo-changeThis is a one-time acknowledgment of the codename being added in v3.2.2. It will not recur.