This article is valid from Hermod 3.1.1.
This article describes how to upgrade the Smart ID Messaging component Hermod.
Step-by-step instruction
Download new release
Download new Hermod release
Download the new Hermod docker image and file structure from Nexus support portal.
- Log in to Nexus Support portal.
- Go to Nexus Personal > Nexus Personal Messaging server and click a Hermod version to download the *.zip file.
- Unpack the *.zip file.
- Open the folder which was extracted, for example 3.x.y.RELEASE.
Load docker image
The docker image can be loaded locally to each machine, or to the docker registry, and used remotely from several machines.
To load the released docker image locally on the target host, see this example:
This does not work for Kubernetes deployments where the image must be hosted in a docker registry.
Example: Load docker image
TEXT
> docker load -i hermod-3.x.y.RELEASE.tar
- If you have a docker registry, load the image there.
Docker-compose installation
Update docker compose configuration
Update your docker compose configuration with the new Hermod version:
Edit the configuration file docker-compose.yml and update the hermod/image
element with the correct version.
Example file path: example/compose/hermod/docker-compose.yml
Example: docker-compose.yml
CODE
version: '2'
services:
....
hermod:
image: nexusgocontainerregistry.azurecr.io/nexus-personal/hermod:3.1.1.RELEASE
....
Update Hermod configuration if required
To update the Hermod configuration:
Edit the configuration file config/application.yml (config/cod-hermod.yml might be a link) with any new/updated values for your environment. Required updates will be available in the release notes.
Example file path: example/compose/hermod/config/application.yml
Update database if required
Each release of Hermod contains SQL files per vendor/release in Flyway compatible format. No database updates are required as long as these files have not changed between versions. Required updates will be found in the release notes.
If the SQL files have changed, update your database manually or use Flyway (https://flywaydb.org/).
Start Hermod
Start Hermod with the following command:
Example: Start hermod
TEXT
> docker-compose up -d hermod
> docker-compose logs -f
Kubernetes installation
Update Kubernetes deployment file
Update your Kubernetes deployment file with the new Hermod version:
Edit the deployment file hermod-deployment.yml and update the container/image
element with the correct version.
Example file path: hermod-deployment.yml
Example: hermod-deployment.yml
CODE
version: '2'
services:
....
spec:
containers:
- args:
image: nexusgocontainerregistry.azurecr.io/nexus-personal/hermod:3.1.1.RELEASE
....
Update Hermod configuration if required
To update the Hermod configuration:
Edit the Kubernetes configuration file for Hermod, for example, hermod-configuration.yml with any new/updated values for your environment. Required updates will be available in the release notes.
Example: Reapply Hermod configuration
TEXT
> kubectl apply -f hermod-configuration.yml
Update database if required
Each release of Hermod contains SQL files per vendor/release in Flyway compatible format. No database updates are required as long as these files have not changed between versions. Required updates will be found in the release notes.
If the SQL files have changed, update your database manually or use Flyway (https://flywaydb.org/).
Start Hermod
Reapply the Hermod deployment file in Kubernetes with the following command:
Example: Start hermod
TEXT
> kubectl apply -f hermod-deployment.yml
Kubernetes will make sure that the new container starts, redirect any on-going traffic and thereafter shutdown the previous version.
Upgrade Hermod from versions earlier than 2.4.1
Important notes for the upgrade
- The Docker image has been renamed. The 'host' part is changed to nexusgocontainerregistry.azurecr.io
If you are updating Hermod from a version earlier than 2.4.1 to version 2.4.1 or higher, and are using Microsoft SQL Server you must alter the aliases table to use nvarchar
instead of varchar
for alias_name. This is required in order to be able to support unicode characters in the userid. This only applies to Microsoft SQL Server.
IMPORTANT - this requires alter table
to be executed. See V2.4.1__aliases_column.sql for sqlserver found in the release.
Upgrade Hermod from versions earlier than 2.5.1
Important notes for the upgrade
New indexes have been added for better performance.
- If you are upgrading Hermod from a version earlier than 2.5.1 to version 2.5.1 or higher, make sure you run V2.5.1__new_indexes.sql.
Upgrade Hermod from versions earlier than 3.1.1
Important notes for the upgrade
A new database table has been added.
- If you are upgrading Hermod from a version earlier than 3.1.1 to version 3.1.1 or higher, make sure you run V3.1.1__lifesign_table.sql.
Upgrade Hermod from 2.x to 3.x
For more information, see Upgrade Hermod from 2.x to 3.x.