Upgrade Guide 8.2.0 to 8.3.0
The 8.3.0 release is intended to migrate
docker-composeusers topodman quadlet. Version 8.2.0 is the last version to supportdocker-composeand users are urged to migrate! Version 8.2.0 has full feature parity with version 8.3.0 and all services are identical. Therefore, no action is required for users that don't usedocker-compose.
If you are upgrading from version 8.1.x you must upgrade to version 8.2.0 first!
Important Note
Backup Your Data Before Proceeding!
Moreover, this guide assumes that the steps below are executed in one session.
If the session is interrupted (e.g. due to a logout) then the passwords need to
be re-exported in given order. Only then, the upgrade procedure can be
continued at an intermediate step without receiving errors.
Newly Required Tools
To run 21 Travel Rule the following tools needs to be installed:
- Podman (version 5.6.0 or higher)
- helm (version 3.8.0 or higher)
- yq (The Golang version is preferred over the Python one)
Acceptance Testing
Before upgrading your production instance we encourage you to exercise the upgrade scenario on your acceptance testing instance.
Shutting down 21Travel services
Enter the following to shut down 21Travel services.
The passwords assigned to the environment variables below have been chosen
during initial deployment. The export
statements can be omitted in case an .env file is used.
cd 21-travel-deployment
export POSTGRES_PASSWORD=secret_password_1
export AUTOD_DB_PW=secret_password_2
export AOPD_DB_PW=secret_password_3
export TRPD_DB_PW=secret_password_4
export TRUSTD_DB_PW=secret_password_5
export KEYCLOAK_DB_PW=secret_password_6
export KEYCLOAK_ADMIN=your_keycloak_admin_username
export KEYCLOAK_ADMIN_PASSWORD=secret_password_7
docker compose down
Authenticating New Tools
Log in the new tools to the container registry using the username / password that you have obtained from us by executing the following two commands:
podman login registry.21analytics.ch -u YourUsername
helm registry login registry.21analytics.ch -u YourUsername
Extracting Domains from the Caddyfile
Run the following command to print the domains currently in use for 21 Travel Rule. You will need them in a later step.
sed -n 's/^\([a-z].*\) {/\1/p' Caddyfile
Obtaining the 8.3.0 Deployment Environment
You can switch to the 8.3.0 deployment environment discarding your custom
changes (e.g. domain names in Caddyfile) because they don't apply anymore.
Just enter the following:
git fetch origin
git reset --hard 8.3.0
Configuring the Extracted Domains
Save the domains extracted from the Caddyfile in values.yaml.
Running the Migration Script
The script will migrate your data from docker-compose to podman quadlet.
./docker-compose2podman-quadlet.sh
Optionally Committing Secrets
Backup your secrets! Use a secrets management tool or commit them.
git add secrets.yaml
git commit -m "secrets.yaml: persist secrets"
Starting 21 Travel Rule
systemctl start travel.service
Useful Systemd Commands
Stopping Services
systemctl stop travel.service
Restarting Services
systemctl restart travel.service
Checking the Status
systemctl status travel.service
Reading the Logs
journalctl -xeu travel.service