This section describes the process of upgrading your Xray High Availability cluster using the interactive script.
The upgrade supports the following installation types:
Linux Archive
Docker Compose
RPM/Debian
For more information on HA upgrade in Helm, see Xray Helm Upgrade.
Starting from version 3.31.0 and later, Xray supports hot upgrade for HA installations. Unlike regular upgrades, you need not turn off the secondary nodes while upgrading a node.
To perform a hot upgrade, ensure that all the nodes in the HA cluster run on the same version. For example, you cannot perform hot upgrade if one node is in version 3.31.0 and the two other nodes are in 3.31.1. While the upgrade is in process, you cannot do a DB sync. You must not restart any node while hot upgrade is in process. If you restart a node in the middle of the process, the node will not be able to rejoin the cluster. The JFrog Platform UI displays a warning message while the upgrade is in process. You cannot downgrade to a previous version using the hot upgrade process
Note
Since Xray supports hot upgrade from version 3.31.0, you can perform hot upgrade to upgrade the HA installation in 3.31.0 to a version higher than 3.31.0.
Upgrade from Versions Higher than 3.31.0
Follow these steps to upgrade Xray using the interactive script on each node in the cluster.
Stop the Xray service on the node that you want to upgrade.
Linux Archive
$JFROG_HOME/xray/app/bin/xray.sh stop
Docker Compose
docker-compose -p xray down
RPM/Debian
systemctl stop xray
ForLinux Archive only: Delete the
app
folder.Upgrade Xray by running the installer script.
If needed, the script prompts you with a series of mandatory inputs, including the
jfrogURL
(custom base URL) andjoinKey
.Linux Archive/Docker Compose
./config.sh
RPM/Debian
./install.sh
Start the Xray services.
Linux Archive
$JFROG_HOME/xray/app/bin/xray.sh start
Docker Compose
docker-compose -p xray up -d
RPM/Debian
systemctl start xray
Upgrade from Versions Prior to 3.31.0
Follow these steps to upgrade Xray using the interactive script.
Linux and Native Installers
Before running the upgrade on Linux and Native installers, you will need to stop RabbitMQ. Because shared.rabbitMq.autoStop
is set to false by default. to be able to run RabbitMQ with systemctl/xray.sh
, you will need to set shared.rabbitMq.autoStop
to true.in the system.yaml
.
Docker Compose
For Docker Compose, you will need to run the
docker-compose -p xray-rabbitmq -f docker-compose-rabbitmq.yaml down
Stop the Xray services on all secondary nodes.
Important
You must stop the services on the secondary nodes before stopping the services on the master node.
Linux Archive
$JFROG_HOME/xray/app/bin/xray.sh stop
Docker Compose
docker-compose -p xray down
RPM/Debian
systemctl stop xray
Next, stop the Xray services on the master node.
Linux Archive
$JFROG_HOME/xray/app/bin/xray.sh stop
Docker Compose
docker-compose -p xray down
RPM/Debian
systemctl stop xray
For Linux Archive only: Delete the
app
folder on all nodes (master and secondary).Upgrade Xray on the master node by running the installer script.
If needed, the script will prompt you with a series of mandatory inputs, including the
jfrogURL
(custom base URL) andjoinKey
.Linux Archive/Docker Compose
./config.sh
RPM/Debian
./install.sh
Start the Xray services on the master node.
Linux Archive
$JFROG_HOME/xray/app/bin/xray.sh start
Docker Compose
docker-compose -p xray up -d
RPM/Debian
systemctl start xray
Upgrade Xray on the secondary nodes.
Linux Archive/Docker Compose
./config.sh
RPM/Debian
config.sh/install.sh
Start the Xray services on the secondary nodes.
Linux Archive
$JFROG_HOME/xray/app/bin/xray.sh start
Docker Compose
docker-compose -p xray up -d
RPM/Debian
systemctl start xray