Upgrade Deployment

Upgrading your OpenReplay deployment to the latest version requires updating both your backend (instance) and tracker.

Upgrade Backend (from v1.3.6 or prior)

First of all, ensure you're on v1.3.6. If that's already the case, then ignore the below commands and move to step 1). If not, update your OpenReplay installation to v1.3.6:

# Copy/backup the current openreplay folder to _version-number
mv openreplay openreplay_v1.3.5
git clone https://github.com/openreplay/openreplay -b v1.3.6
cd openreplay/scripts/helm
# bash upgrade.sh <old openreplay path>
bash upgrade.sh ~/openreplay_v1.3.5

Once you're on v1.3.6 then proceed with the below steps:

  1. Copy/backup the current openreplay folder to _version-number like below:

    mv openreplay openreplay_v1.3.6
  2. Clone the new OpenReplay version. In this example we're upgrading to the latest available version:

    git clone https://github.com/openreplay/openreplay
  3. Run the below script to automatically upgrade your vars.yaml to the new format:

    cd openreplay/scripts/helmcharts
    ansible localhost -m template -a "src=vars_template.yaml dest=vars.yaml" -e @~/openreplay_v1.3.6/scripts/helm/vars.yaml
  4. Upgrade OpenReplay:

    cd openreplay/scripts/helmcharts
    helm ls -n app | tail -n +2 | awk '{print $1}' | xargs -I{} helm uninstall {} -n app
    helm uninstall nginx-ingress -n nginx-ingress
    helm upgrade --install openreplay ./openreplay -n app -f vars.yaml --atomic --set forceMigration=true
  5. If you're not using a load balancer and have generated your SSL certificate via the certmanager.sh script:

    cd openreplay/scripts/helmcharts && bash certmanager.sh
  6. Update fromVersion variable in /openreplay/scripts/helmcharts/vars.yaml to reflect the new version. As an example if you're moving from v1.3.6 to v1.6.0 then update the fromVersion like below:

    fromVersion: "v1.6.0"

Note: Manual overrides made to any service configuration file (i.e. openreplay/scripts/helm/app/<app>.yaml) will be reset. So if you have any custom overrides, like using an external object storage service for your recordings, or increased service capacity (cpu/memory), make sure to apply them to the new version (in /openreplay/scripts/helmcharts/vars.yaml) prior to running the upgrade script (step 4).

Upgrade Backend (from v1.4.0 or higher)

  1. Copy/backup the current openreplay folder to _version-number like below:

    mv openreplay openreplay_v1.4.0
  2. Clone the new OpenReplay version. In this example we're upgrading to the latest available version:

    git clone https://github.com/openreplay/openreplay
  3. Upgrade OpenReplay:

    cd openreplay/scripts/helmcharts
    # Merge previous vars.yaml with current var.yaml (using yq for yaml parsing)
    cp ~/openreplay_v1.4.0/scripts/helmcharts/vars.yaml old_vars.yaml
    wget https://github.com/mikefarah/yq/releases/download/v4.24.4/yq_linux_amd64 -O yq
    chmod +x ./yq
    ./yq '. *= load("old_vars.yaml")' vars.yaml > new_vars.yaml
    mv new_vars.yaml vars.yaml
    # Upgrade openreplay
    helm upgrade --install openreplay ./openreplay -n app --wait -f ./vars.yaml --atomic
  4. If you're not using a load balancer and have generated your SSL certificate via the certmanager.sh script:

    cd openreplay/scripts/helmcharts && bash certmanager.sh
  5. Update fromVersion variable in /openreplay/scripts/helmcharts/vars.yaml to reflect the new version. As an example if you're moving from v1.4.0 to v1.6.0 then update the fromVersion like below:

    fromVersion: "v1.6.0"

Upgrade Tracker

Ensure your tracker (and tracker-assist plugin if you do use the Assist plugin) is compatible with the new backend version by checking the below compatibility table:

Backend VersionMinimum Tracker Version
1.6.03.5.12
1.5.43.5.4
1.5.33.5.3
1.5.23.5.2
1.5.13.5.1
1.5.03.5.0
1.4.03.4.17
1.3.63.4.16
1.3.53.4.0
1.3.03.2.1
1.2.03.1.0
1.1.03.0.3