To run Software AG webMethods API Gateway 10.5 on a Red Hat OpenShift cluster you can make use of the API Gateway image that is available on Docker Hub ( This image is a free trial, time-limited and for non-production version. There is an article on the Software AG Tech Community that explains how to do this:

This article will explain how to:

  • Install an API Gateway on a local machine
  • Create a Docker image of the installation
  • Push it to the Docker Hub repository
  • And finally run API Gateway on OpenShift

Step 1. Install API Gateway

Install webMethods Integration Server and API Gateway on a local machine (Linux, eg. CentOS 8). You should also have Docker installed on the same local machine.

1. Download the Software AG Installer from the SAG site

2. Install API Gateway

Change the permissions of the file

command: chmod +x SoftwareAGInstaller20191216-LinuxX86.bin

Create an installation folder with correct permissions, eg. /opt/softwareag105/AG

Run the installer

command: ./SoftwareAGInstaller20191216-LinuxX86.bin

Click next until we can select API Gateway component and install (You will have to provide a license file for API Gateway)

Run the afterInstallAsRoot script


cd /opt/softwareag105/AG/bin


3. Download Software AG Update Manager


4. Install the API Gateway fixes

Change the permissions of the file

command: chmod +x SoftwareAGUpdateManagerInstaller20200916-11-LinuxX86.bin

Run the update manager

command: ./SoftwareAGUpdateManagerInstaller20200916-11-LinuxX86.bin –accept-license -d /opt/softwareag105/sagsum

Start the Update manager:


cd /opt/softwareag105/sagsum/bin


5. Test your installation


cd /opt/softwareag105/AG/profiles/IS_default/bin/



Step 2. Build the Docker image


1. Navigate to the location of the script to build a docker image

command: cd /opt/softwareag105/AG/IntegrationServer/docker

2. Create a Docker file for the IS

command: ./ createDockerfile

The generated docker file (IS_Agent_Dockerfile) is located at /opt/softwareag105/AG/

3. Build the IS Docker image

command: ./ build

4. Create a Docker file for the API GW based on the IS Docker image

command: ./ createDockerfile –base.image gw_is_agent:is – IS_APIGW_Agent_Dockerfile –target.configuration OpenShift –os.image centos:8

The generated docker file (IS_APIGW_Agent_Dockerfile) is located at /opt/softwareag105/AG/

5. Build the API GW Docker image

command: ./ build – IS_APIGW_Agent_Dockerfile – gw_is_agent:apigw

To list the images you just created

command: docker images

6. Test the image

Make sure that you have enough memory:

command: sysctl -w vm.max_map_count=262144

Start the container

command: docker run -d -p 5555:5555 -p 9072:9072 –name apigw gw_is_agent:apigw

Check the status

command: docker ps

wait for status to change from “Up x seconds/minutes/… (health: starting)” to “Up x seconds/minutes/.. (healthy)”

Stop and remove the container


docker stop -t90 apigw

docker rm apigw

Step 3. Push image to Repository (DockerHub)


1. Re-tag your local image to use with DockerHub

command: docker tag gw_is_agent:apigw DockerUser/sag:latest

2. Push your image to the DockerHub registry

command: docker push DockerUser/sag:latest

This will take some time …

Step 4. Run API GW on OpenShift


1. Login to OpenShift

Click on the arrow next to your user in the GUI of OpenShift in the top right corner and select “Copy Login Command”

command: oc login –token=<token> –server=<url>

2. Create new project or switch to existing project, eg. sag-is


oc new-project sag-is


oc project sag-is

3. Create a service account runassagadmin.

command: oc create serviceaccount runassagadmin

4. Assign admin privileges to your user (to be able to execute the next step)

5. Assign permissions to use the docker image build-in user (requires admin privileges)

command: oc adm policy add-scc-to-user anyuid -z runassagadmin

6. Create deploymentConfig based on the OpenShift sample files in the WmAPIGateway package

Location sample files: /opt/softwareag105/AG/IntegrationServer/instances/default/packages/WmAPIGateway/resources/samples/OpenShift

Make the following changes to the sample file:

  • Replace the default serviceAccountName with runassagadmin
  • Update the <yourClusterBaseUrl>-placeholder in the host element of the 2 routes to match the cluster URL
  • Update the placeholders in the ImageStream to match the registry location of your image

7. Create a secret to log into DockerHub and link it to the service account that will start our pod


oc create secret docker-registry hub-secret –docker-server= –docker-username=DockerUser –docker-password=xxxxxxx –

oc secrets link runassagadmin hub-secret –for=pull

8. Navigate to the location of your DeploymentConfig file

9. Apply the DeploymentConfig file

command: oc apply -f api-gateway-deployment-embedded-elasticsearch.yaml

This will start the deployment of your API Gateway pods on the OpenShift cluster.

To watch the status of your pods

command: oc get pods

When the API Gateway pods have a status “Running” you can access them via the routes you defined.

Author: Raf Vanderzande