Current upgrade status
Release-specific runbook
Rollback
This procedure applies only to thedeploy.sh-managed /opt install described in Full Node Installation. A host where ctmd and its libraries were copied straight into /usr/local has no versioned directory and no active symlink, so none of this applies — roll that host back using its own layout. Both layouts install a unit at /etc/systemd/system/ctmd.service, so confirm the layout before changing anything.
Preconditions
Linux procedure
List the installed versions and confirm which one is active:Why only /opt/ctmd moves
/opt/ctmd is the path both halves of the install resolve through: /usr/local/bin/ctmd is a symlink to /opt/ctmd/bin/ctmd, and the unit sets LD_LIBRARY_PATH=/opt/ctmd/lib. Repointing /opt/ctmd moves the binary and its bundled shared libraries together.
Do not repoint /usr/local/bin/ctmd instead. That changes the binary without changing the library path, and runs one install’s binary against another install’s bundled libraries.
The unit file carries no version, so it does not change and no systemctl daemon-reload is needed.
macOS
The active symlink is$HOME/.ctmd/current, and versioned installs live under $HOME/.ctmd/releases/. The CLI symlink and the library path both resolve through current, so the same single move applies. There is no service:
Rollback is a pre-upgrade remedy only
deploy.sh has no rollback command, and deploy.sh install always resolves the current release, so moving the active symlink by hand is the supported path back. A later deploy.sh install runs normally on a rolled-back host and repoints /opt/ctmd to the new versioned directory.
Operator reminders
- Take backups before replacing binaries or changing configs.
- Verify binary checksums or signatures when provided.
- Watch logs and peer health through the upgrade window.
- Coordinate validator-specific steps separately from full-node steps.
- Do not use
--unsafe-skip-upgradesexcept under explicit emergency coordination. - Security reports go to
[email protected]; do not open public issues for vulnerabilities.