Migration from pre 1.0-Containersπ
With the change from container image version 0.x to major version 1.0, some changes were introduced which are no longer backward compatible. This page lists what these changes are and how to migrate an existing version 0.x container to the new version 1.0.
Incompatible changes of version 1.0
If you are running sedex-Client Docker containers that are based on image version 0.99 (or older), then you will NOT be able to automatically migrate to the new image version 1.0 (or newer). On this page you find instructions for a manual migration.
Changes affecting Phase 1 - "Initial Configuration"π
When you start from scratch and get a new sedex-Client Docker container up and running, you need to go through Phase 1 - "Initial Configuration" once.
With the change to major version 1.0 some configuration parameters and init scripts have been renamed. Container instances already running are not affected by these changes, since each container is initialized only once and then never again. However, you should be aware of these changes if you want to create new containers based on image 1.0 (or newer) and still know the previous parameter names. In particular, if you have implemented an automated startup of new sedex-Client Docker containers, you will need to adapt the code of your own automation.
For the sake of standardization, some parameter and script names had to be adapted. Below you will find a list of the changes.
Type 1: Manual Initial Configuration (using the file init.conf)π
The following parameter names in the init.conf file have been changed:
| Old parameter (0.99) | New parameter (1.0) |
|---|---|
SEDEX_CERTIFICATE_FILENAME |
SEDEX_KEYSTORE_FILENAME |
SEDEX_CERTIFICATE_PASSWORD |
SEDEX_KEYSTORE_PASSWORD |
WSPROXY_START |
SEDEX_WSPROXY_START |
You can find detailed instructions in the section about Phase 1: Initial Configuration.
Type 2: Scripted Initial Configurationπ
The init-scripts contained in the sedex-Client Docker container haven been renamed:
| Old name (0.99) | New name (1.0) |
|---|---|
init-container-new-cert.sh |
init-script-new-cert.sh |
init-container-existing-cert.sh |
init-script-existing-cert.sh |
The following parameter names of the init-scripts have been changed:
| Old parameter (0.99) | New parameter (1.0) |
|---|---|
CRID |
SEDEX_CRID |
OTP |
SEDEX_OTP |
KEYSTORE |
SEDEX_KEYSTORE |
KEYSTORE_PW |
SEDEX_KEYSTORE_PASSWORD |
WSPROXY_START |
SEDEX_WSPROXY_START |
You can find detailed instructions in the section about Phase 2: Run.
Changes affecting Phase 2 - "Run"π
Once a sedex-Client Docker container is initialized, it is from then on in Phase 2 - "Run".
To better separate configuration data (especially credentials) and sedex messages during operation, the interface folders for sedex messaging have been extracted to a separate volume. The permanent data storage now consists of two volumes instead of only one:
| Volume (0.99) | Volumes (1.0) |
|---|---|
sedex-data |
sedex-data |
| - | sedex-interface |
Configuration changes necessary when changing container to major version 1.0
You cannot upgrade an already initialized sedex-Client container based on image version 0.99 (or older) to image version 1.0 (or newer) with the same configuration. The permanent storage (volume) will no longer fit, which will be detected by the new container and will lead to a corresponding error and a termination of the container.
Necessary steps to switch to a container version 1.0π
The interface folders for sedex messaging (inbox, outbox, receipts, processed, working) have been extracted to a separate volume called "sedex-interfaces". See permanent-storage for details.
If you are currently running a container based on image version 0.99, you will find the interface folder in the permanent storage "sedex-data" below the subfolder "interface" and thus have to move these folders.
To switch to a 1.0 container, the following steps are required:
-
Create a new directory (volume) for the permanent storage "sedex-interface"
-
Stop your old sedex-Client Container (Version 0.99 or older)
-
Prevent your business application from sending new sedex messages
-
Move all interface folders (including contents) from
<"sedex-data">/interfaceto<"sedex-interface">:old path (0.99) new path (1.0) <"sedex-data">/interface/inbox<"sedex-interface">/inbox<"sedex-data">/interface/outbox<"sedex-interface">/outbox<"sedex-data">/interface/processed<"sedex-interface">/processed<"sedex-data">/interface/receipts<"sedex-interface">/receipts<"sedex-data">/interface/working<"sedex-interface">/working -
Adjust the configuration of your business application to use the new permanent storage
-
Create the new container based on Image 1.0 (or later)
-
Make sure your business application can again send and receive sedex messages using the new interface-folders in "sedex-interface"