IBM Support

Technote: FTM Operator - Manually Upgrading kube-rbac-proxy Image

General Page

Starting with FTM 3.2.13.0 iFix4, 4.0.6.0 iFix5, and 4.0.7.0, the kube-rbac-proxy image was decoupled within the Go-based FTM OpenShift operator. This functionality is also available in subsequent FTM releases, including 4.0.8.0, 4.0.9.0, 4.0.10.0, and 4.0.11.0.

This allows FTM customers to apply out-of-band security updates to the kube-rbac-proxy image without upgrading to a newer FTM release.
Updated: August 28, 2026
Product: IBM Financial Transaction Manager (FTM):
  • V4.0.11.0 for Red Hat OpenShift, across all offerings
  • V4.0.10.0 for Red Hat OpenShift, across all offerings
  • V4.0.9.0 for Red Hat OpenShift, across all offerings
  • V4.0.8.0 for Red Hat OpenShift, across all offerings
  • V4.0.7.0 for Red Hat OpenShift, across all offerings
  • V4.0.6.0 iFix5 and later fixes for Red Hat OpenShift, across all offerings
  • V3.2.13.0 iFix4 and later fixes for Multiplatform, across all offerings
 
Version/Patch: 4.0.11.0 / 4.0.10.0 / 4.0.9.0 / 4.0.8.0 / 4.0.7.0 / 4.0.6.0 iFix5 and later / 3.2.13.0 iFix4 and later
 
 
Details
The FTM Operator requires image SHA values for all images including the kube-rbac-proxy.  Follow these steps to update the SHA value of the kube-rbac-proxy image with the newer image SHA value made available by a support notification. 
 
An example of a kube-rbac-proxy image SHA value:
sha256:bb84ead437042603254efcb703442be8500a9450b10bbcaaee81b48a6ed869ea

Note: Use the specific SHA value provided to you in the notification of a newer version of the kube-rbac-proxy. 
 
Instructions to upgrade or downgrade the kube-rbac-proxy:
1.    Ensure you have admin access to the cluster
2.    Log in to the Red Hat OpenShift web console.
3.    From the navigation menu, go to Operators → Installed Operators.
4.    Select the namespace where the IBM Financial Transaction Manager Controller operator is installed.
5.    Select IBM Financial Transaction Manager Controller and open the Subscription or ClusterServiceVersion details associated with the installed operator.
6.    Open the YAML view for the ClusterServiceVersion that you want to modify.
7.    Confirm that the CSV and operator version correspond to the FTM release being updated.
8.   Search for ose-kube-rbac-proxy
9.    Record the current SHA value. 
 
There are two ways to update the SHA value:
 
10.1  Update the SHA for both instances using the new value provided.  One instance will be at path spec.relatedImages and the other at spec.install.spec.deployments.spec.template.spec.containers.image
 
OR
 

10.2 Update the SHA for both instances by using the OpenShift CLI.

The ClusterServiceVersion (CSV) must be retrieved from the namespace where the IBM Financial Transaction Manager Controller operator is installed. This might be the FTM deployment namespace or another namespace selected when the controller operator was installed.

First, identify the namespace and CSV name:

 
oc get csv --all-namespaces | grep ibm-ftm-operator

 

Confirm that the result corresponds to the IBM Financial Transaction Manager Controller operator for the FTM release you want to update. Record the namespace and CSV name returned by the command.

Choose one of the following CLI methods. Do not run both.

Method A: Use placeholder values

Replace each placeholder before running the command:

 
oc get csv <ftm_operator_csv_name> \
  -n <operator_namespace> \
  -o json |
jq \
  --arg name "kube-rbac-proxy" \
  --arg image \
  "icr.io/cpopen/ibm-ftm/openshift4/ose-kube-rbac-proxy@sha256:<sha_value>" \
  'del(.metadata.annotations["kubectl.kubernetes.io/last-applied-configuration"])   | (.spec.relatedImages[] | select(.name == $name)).image = $image   | (.spec.install.spec.deployments[].spec.template.spec.containers[]      | select(.name == $name)).image = $image' |
oc replace -n <operator_namespace> -f -
 

Replace:

  • <ftm_operator_csv_name> with the CSV name.
  • <operator_namespace> with the namespace containing the CSV.
  • <sha_value> with the SHA-256 digest provided in the support notification.

 

Method B: Use shell variables

Set the variables before running the update command:

 
CSV_NAME="ibm-ftm-operator.vX.X.X" OPERATOR_NAMESPACE="your-operator-namespace" SHA_VALUE="your-sha256-value"

KUBE_PROXY_IMAGE="icr.io/cpopen/ibm-ftm/openshift4/ose-kube-rbac-proxy@sha256:${SHA_VALUE}"

oc get csv "${CSV_NAME}" \
  -n "${OPERATOR_NAMESPACE}" \
  -o json |
jq \
  --arg name "kube-rbac-proxy" \
  --arg image "${KUBE_PROXY_IMAGE}" \
  'del(.metadata.annotations["kubectl.kubernetes.io/last-applied-configuration"])   | (.spec.relatedImages[] | select(.name == $name)).image = $image   | (.spec.install.spec.deployments[].spec.template.spec.containers[]      | select(.name == $name)).image = $image' |
oc replace -n "${OPERATOR_NAMESPACE}" -f -
 

For Method B:

  • CSV_NAME is the CSV name returned by the discovery command.
  • OPERATOR_NAMESPACE is the namespace containing the CSV.
  • SHA_VALUE contains only the characters following sha256:.


11.    Verify the updated operator pod

In the Red Hat OpenShift web console, go to Workloads → Pods. Select the namespace where the FTM controller operator is installed, search for ibm-ftm-operator-controller-manager, and open the restarted pod.

On the pod details page, review the container image information and verify that the ose-kube-rbac-proxy image uses the new SHA value.

12.    Save the changes
13.    The ibm-ftm-operator-controller-manager pod will automatically restart
14.    Browse to Workloads -> Pods, search for ibm-ftm-operator-controller-manager, click on the POD, browse to the YAML tab, and verify the ose-kube-rbac-proxy image SHA

Optional: You can also verify the update using the OpenShift console. After logging in to the OpenShift console, run the following command:
 
For Linux/MacOS:  
oc get pods --all-namespaces -o jsonpath='{range .items[*]}{@.metadata.namespace}{" "}{@.metadata.name}{" "}{range @.status.containerStatuses[*]}{@.image}{"\n"}{end}{end}' | grep '<sha_value>'

Replace the <sha_value> with the sha value you specified in the YAML. For e.g.
oc get pods --all-namespaces -o jsonpath='{range .items[*]}{@.metadata.namespace}{" "}{@.metadata.name}{" "}{range @.status.containerStatuses[*]}{@.image}{"\n"}{end}{end}' | grep 'sha256:bb84ead437042603254efcb703442be8500a9450b10bbcaaee81b48a6ed869ea'
 
Windows:  
oc get pods --all-namespaces -o jsonpath="{range .items[*]}{@.metadata.namespace}{' '}{@.metadata.name}{' '}{range @.status.containerStatuses[*]}{@.image}{'\n'}{end}{end}" | findstr  "'<sha_value>'"
 
Replace <sha_value> with the sha value specified in the YAML.
 
Expected result: If a matching container is deployed, the results will be displayed, resembling the following example:
your-namespace your-app-name-operator-controller-manager-864c68ccd5-wr862 icr.io/cpopen/ibm-ftm/openshift4/ose-kube-rbac-proxy@sha256:bb84ead437042603254efcb703442be8500a9450b10bbcaaee81b48a6ed869ea
 
 
 

[{"Type":"MASTER","Line of Business":{"code":"LOB77","label":"Automation Platform"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSPKQ5","label":"IBM Financial Transaction Manager"},"ARM Category":[{"code":"a8m50000000KzFMAA0","label":"Security"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2.13;4.0.6;4.0.7"}]

Document Information

Modified date:
28 August 2026

UID

ibm17235417