Document toolboxDocument toolbox

Upgrade Hermod

This article is valid from Hermod 3.1.1.

This article describes how to upgrade the Smart ID Messaging component Hermod.


 Prerequisites
  • Docker compose or Kubernetes installation of Hermod. See Install 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. 

  1. Log in to Nexus Support portal.
  2. Go to Nexus Personal > Nexus Personal Messaging server and click a Hermod version to download the *.zip file. 
  3. Unpack the *.zip file.
  4. 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.

  1. 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
    > docker load -i hermod-3.x.y.RELEASE.tar
  2. 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:

  1. 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
    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:

  1. 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.

  1. If the SQL files have changed, update your database manually or use Flyway (https://flywaydb.org/).

 Start Hermod
  1. Start Hermod with the following command:

    Example: Start hermod
    > 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:

  1. 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
    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:

  1. 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
    > 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.

  1. If the SQL files have changed, update your database manually or use Flyway (https://flywaydb.org/).

 Start Hermod
  1. Reapply the Hermod deployment file in Kubernetes with the following command:

    Example: Start hermod
    > kubectl apply -f hermod-deployment.yml
  2. 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.

Related information


Copyright 2024 Technology Nexus Secured Business Solutions AB. All rights reserved.
Contact Nexus | https://www.nexusgroup.com | Disclaimer | Terms & Conditions