Skip to main content

Upgrading to IAM Version 3.10

This topic describes how to upgrade the InterSystems API Manager (IAM) from version 3.4 to version 3.10.

New in IAM 3.10

Upgrade Steps

To upgrade your IAM deployment from version 3.4 to 3.10, follow these steps:

  1. Backup your database before beginning the upgrade.

  2. Install a new InterSystems IRIS license key. Due to changes in Kong Gateway licensing, IAM 3.10 requires that you obtain and install a new license key before starting IAM 3.10.

  3. Download the installation tar fileOpens in a new tab from the InterSystems Worldwide Response Center (WRC) download page. To show only the IAM kits, type IAM in the Name column.

  4. Uncompress the file and extract the contents.

    See Installing IAM for a list of the contents.

  5. Perform the upgrade using the following high-level steps:

    1. Stop IAM 3.4

    2. Load the IAM 3.10 container image and run the setup script to configure environment variables

    3. If your database is on PostgreSQL 9.x or 14.x, run the appropriate upgrade script after completing iam-setup.sh but before starting IAM. See Upgrading PostgreSQL for details.

    4. Start IAM 3.10

Prerequisites

Backup Your Database

Before proceeding to installing IAM or upgrading PostgreSQL, back up all relevant data. This is critical, as migrations are not reversible.

Validate that your backup completed successfully before starting the upgrade process.

Perform the Upgrade

Stop IAM 3.4

Before upgrading to IAM 3.10, you must ensure your current version of IAM is no longer running. To stop the IAM container, you must be in a shell where you have previously run the setup script for your current version of IAM, or you will need to define the ISC_IAM_IMAGE and ISC_IRIS_URL environment variables. Navigate to the scripts directory containing the docker-compose.yml file for your current IAM version, and stop it, for example:

cd iam3.10/scripts
docker compose down
cd iam3.10/scripts
docker-compose down
cd iam3.10/scripts
podman-compose down

Load the IAM 3.10 Image and Set Up Environment Variables for IAM 3.10

  1. Load the IAM image into your local repository by executing the following command in the directory where you extracted the IAM archive:

    docker load -i iam_image.tar
    
    podman load -i iam_image.tar
    
  2. Make a note of the value of Loaded image from the output of the docker load command. It is required in step 3b.

  3. Run the IAM setup script and enter the requested information at the prompts.

    1. In a UNIX bash shell, enter:

      source ./scripts/iam-setup.sh
      
    2. At the first prompt, enter the container image name. The container image name can be found in the output of the docker load command, as the value of Loaded image. For example, it could be:

      intersystems/iam:3.10

    3. Enter the IP address for your InterSystems IRIS instance. If your instance is on your local machine, use your externally visible local IP address, not localhost or 127.0.0.1. If the instance is running in a container, use the IP address of the host environment, not the IP address of the container. To avoid any DNS issues, use the numeric form of the IP address.

    4. Enter the web server port for your InterSystems IRIS instance.

    5. Enter the password for the IAM user on your InterSystems IRIS instance.

    6. Re-enter the password.

    7. If you want IAM to request the license from InterSystems IRIS using HTTPS instead of HTTP, provide the full path to your CA Certificate file; otherwise, press Enter.

    8. With certain InterSystems IRIS configurations, the instance is not accessible by using the instance server name. In these cases, your InterSystems IRIS instance is only accessible via its CSPConfigName URL prefix (see Changing the InterSystems IRIS Server Name in the URLOpens in a new tab) and you need to provide the prefix with a trailing slash (/) now. If this does not apply, press Enter.

    9. To continue and use the information you entered, press y then press Enter.

This script sets the ISC_IAM_IMAGE and ISC_IRIS_URL environment variables required by the docker-compose.yml file.

Upgrade PostgreSQL

IAM 3.10 requires PostgreSQL 17.x. If you’re upgrading from IAM 2.8.1 or 3.4, your deployment may still be using an older PostgreSQL container (version 9.x or 14.x) that was bundled with those versions. In that case, follow these steps after running the iam-setup.sh script and before starting IAM:

  1. Ensure that you have backed up your database as described in Prerequisites.

  2. Identify your current PostgreSQL version.

  3. Navigate to /scripts/iam-upgrade-db/ and open the appropriate directory for your upgrade path (9-to-17/ or 14-to-17/)

  4. Follow the instructions in the folder’s README.md to run the database upgrade container. This process performs the required migration to PostgreSQL 17.x.

Start IAM 3.10

Navigate to the directory where you extracted the IAM archive. For example, /users/iam/iam310. Run the following commands:

cd scripts
docker compose up -d
cd scripts
docker-compose up -d
cd scripts
podman-compose up -d

After waiting a minute, go to http://localhost:8002/overview to verify that everything is running.

FeedbackOpens in a new tab