Mirroring IBM Storage Scale images

Mirror the IBM Storage Scale images to your enterprise registry.

Before you begin

For more information about the version support, see IBM Fusion HCI support matrix.

About this task

For more reference information, see Offline setup for network restricted Red Hat OpenShift Container Platform clusters.

Procedure

  1. Log in to the IBM Entitled Container Registry by using the IBM entitlement key:
    docker login cp.icr.io -u cp -p <your entitlement key>
    Note: Your entitlement key for IBM Fusion HCI must contain the correct entitlement.
    Set the following environment variables:
    export LOCAL_ISF_REGISTRY="<Your enterprise registry host>:<port>"
    export LOCAL_ISF_REPOSITORY="<Your image path>"
    IFS='/' read -r NAMESPACE PREFIX <<< "$LOCAL_ISF_REPOSITORY"
    if [[ "$PREFIX" != "" ]]; then export TARGET_PATH="$LOCAL_ISF_REGISTRY/$NAMESPACE/$PREFIX"; export REPO_PREFIX=$(echo "$PREFIX"| sed -r 's/\//-/g')-; export NAMESPACE="$NAMESPACE"; else export TARGET_PATH="$LOCAL_ISF_REGISTRY/$NAMESPACE"; export REPO_PREFIX=""; fi
    #verify both variables set correctly
    echo "$TARGET_PATH"
    echo "$NAMESPACE"
    echo "$REPO_PREFIX"
    Note: Port is a non-mandatory value when you set the LOCAL_ISF_REGISTRY variable. If your enterprise registry is accessible and has a secure connection, ignore it.
    Sample value for without port:
    export LOCAL_ISF_REGISTRY="registryhost.com"
    See the following sample values:
    
    export LOCAL_ISF_REGISTRY="registryhost.com:443"
    export LOCAL_ISF_REPOSITORY="fusion-mirror"
    

    LOCAL_ISF_REGISTRY is your entitlement registry.

    LOCAL_ISF_REPOSITORY is the image path in which you want to mirror the images. You can choose your own repository paths. For example, hci-2.10.0/isf or hci-2.10.0.

  2. Run the command to login to the Docker registry with your enterprise registry credentials.
    docker login $LOCAL_ISF_REGISTRY -u <your enterprise registry username> -p <your enterprise registry password>
    
  3. From the mirroring host, run the following commands to copy the IBM Storage Scale images to the aritifactory and Quay registry:
    Arifactory:
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/erasure-code/ibm-spectrum-scale-daemon@sha256:e9ef091df15e5d17166321869d62e5a58061d598bca4f68d9c8d2c05f2b45021 docker://$TARGET_PATH/erasure-code/ibm-spectrum-scale-daemon@sha256:e9ef091df15e5d17166321869d62e5a58061d598bca4f68d9c8d2c05f2b45021
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-core-init@sha256:8bd2d8d1663d5a709327561d92e962ed1e6fb4925df9925701a637cadc22be2b docker://$TARGET_PATH/ibm-spectrum-scale-core-init@sha256:8bd2d8d1663d5a709327561d92e962ed1e6fb4925df9925701a637cadc22be2b
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-gui@sha256:179fd0f462c15f303c7a006b1a8ad71f01cd4215bcac99ac46722e37a56dba93 docker://$TARGET_PATH/ibm-spectrum-scale-gui@sha256:179fd0f462c15f303c7a006b1a8ad71f01cd4215bcac99ac46722e37a56dba93
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/postgres@sha256:0bcc5bbbb2aa9c9b4c6505845918c7eb55d783cf5c1f434fac33012579fb149d docker://$TARGET_PATH/postgres@sha256:0bcc5bbbb2aa9c9b4c6505845918c7eb55d783cf5c1f434fac33012579fb149d
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-logs@sha256:ef767949384ffdf4f2067496051961a7b2c75e52d9255991ce0152072bfb9d2d docker://$TARGET_PATH/ibm-spectrum-scale-logs@sha256:ef767949384ffdf4f2067496051961a7b2c75e52d9255991ce0152072bfb9d2d
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-pmcollector@sha256:f4c3d343e92a9931830b2693bc274136a14f6f497e7da92c199a957b9c0a0c7a docker://$TARGET_PATH/ibm-spectrum-scale-pmcollector@sha256:f4c3d343e92a9931830b2693bc274136a14f6f497e7da92c199a957b9c0a0c7a
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-monitor@sha256:9543dfe369c3d1d4bd93f7c7743f990ae652e9bc2256a0ba6ed1d03e6924afd0 docker://$TARGET_PATH/ibm-spectrum-scale-monitor@sha256:9543dfe369c3d1d4bd93f7c7743f990ae652e9bc2256a0ba6ed1d03e6924afd0
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-grafana-bridge@sha256:b05cf7a8f6e1be3aa576f237075757fb318c9d3174f54410dbc17365176ce121 docker://$TARGET_PATH/ibm-spectrum-scale-grafana-bridge@sha256:b05cf7a8f6e1be3aa576f237075757fb318c9d3174f54410dbc17365176ce121
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-coredns@sha256:6a317b23fee629c0b07eb95d34ab7593bb38d41bffc5d1cd4cb2870539c66cd4 docker://$TARGET_PATH/ibm-spectrum-scale-coredns@sha256:6a317b23fee629c0b07eb95d34ab7593bb38d41bffc5d1cd4cb2870539c66cd4
    skopeo copy --all --preserve-digests docker://icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:4ce047b7b8f81652fd6c2c0a6682d92c08b5e99e1f31dcdde196e01267f58cc9 docker://$TARGET_PATH/ibm-spectrum-scale-must-gather@sha256:4ce047b7b8f81652fd6c2c0a6682d92c08b5e99e1f31dcdde196e01267f58cc9
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-ganesha@sha256:054e9e382241ec3bc2a6cab30f1a045b74674492b25afd1110896b4060d1ab6f docker://$TARGET_PATH/ibm-spectrum-scale-ganesha@sha256:054e9e382241ec3bc2a6cab30f1a045b74674492b25afd1110896b4060d1ab6f
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-stunnel@sha256:a2c94c1357fe27ef5070d8ea7ba39e9524243d925ffaf3af6300238b565de44b docker://$TARGET_PATH/ibm-spectrum-scale-stunnel@sha256:a2c94c1357fe27ef5070d8ea7ba39e9524243d925ffaf3af6300238b565de44b
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-pmsensors@sha256:c9270e17334eba8fd77733282bb78866fa7266e87d86bcb19146a116d4e83483 docker://$TARGET_PATH/ibm-spectrum-scale-pmsensors@sha256:c9270e17334eba8fd77733282bb78866fa7266e87d86bcb19146a116d4e83483
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-snapshotter@sha256:5f4bb469fec51147ce157329dab598c758da1b018bad6dad26f0ff469326d769 docker://$TARGET_PATH/csi/csi-snapshotter@sha256:5f4bb469fec51147ce157329dab598c758da1b018bad6dad26f0ff469326d769
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-attacher@sha256:69888dba58159c8bc0d7c092b9fb97900c9ca8710d088b0b7ea7bd9052df86f6 docker://$TARGET_PATH/csi/csi-attacher@sha256:69888dba58159c8bc0d7c092b9fb97900c9ca8710d088b0b7ea7bd9052df86f6
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-provisioner@sha256:d5e46da8aff7d73d6f00c761dae94472bcda6e78f4f17b3802dc89d44de0111b docker://$TARGET_PATH/csi/csi-provisioner@sha256:d5e46da8aff7d73d6f00c761dae94472bcda6e78f4f17b3802dc89d44de0111b
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/livenessprobe@sha256:2c5f9dc4ea5ac5509d93c664ae7982d4ecdec40ca7b0638c24e5b16243b8360f docker://$TARGET_PATH/csi/livenessprobe@sha256:2c5f9dc4ea5ac5509d93c664ae7982d4ecdec40ca7b0638c24e5b16243b8360f
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-node-driver-registrar@sha256:d7138bcc3aa5f267403d45ad4292c95397e421ea17a0035888850f424c7de25d docker://$TARGET_PATH/csi/csi-node-driver-registrar@sha256:d7138bcc3aa5f267403d45ad4292c95397e421ea17a0035888850f424c7de25d
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-resizer@sha256:8ddd178ba5d08973f1607f9b84619b58320948de494b31c9d7cd5375b316d6d4 docker://$TARGET_PATH/csi/csi-resizer@sha256:8ddd178ba5d08973f1607f9b84619b58320948de494b31c9d7cd5375b316d6d4
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/ibm-spectrum-scale-csi-driver@sha256:4856f2904c1893e8893f6d8e6775c23fe0871f0547c5d24984d70bbbbb7b3580 docker://$TARGET_PATH/csi/ibm-spectrum-scale-csi-driver@sha256:4856f2904c1893e8893f6d8e6775c23fe0871f0547c5d24984d70bbbbb7b3580
    skopeo copy --all --preserve-digests docker://icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:8d74a489683d33a2e21d2b00b774d08b51861213fcd0a93ad93a1a1658595439 docker://$TARGET_PATH/ibm-spectrum-scale-csi-operator@sha256:8d74a489683d33a2e21d2b00b774d08b51861213fcd0a93ad93a1a1658595439
    skopeo copy --all --preserve-digests docker://icr.io/cpopen/ibm-spectrum-scale-operator@sha256:d2f9ebc3bb196ad85b931f2dabdce13aed2e6598227b8fc2434d6df9f840f696 docker://$TARGET_PATH/ibm-spectrum-scale-operator@sha256:d2f9ebc3bb196ad85b931f2dabdce13aed2e6598227b8fc2434d6df9f840f696
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/submariner-operator:0.19.2 docker://$TARGET_PATH/submariner/submariner-operator:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/submariner-gateway:0.19.2 docker://$TARGET_PATH/submariner/submariner-gateway:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/lighthouse-agent:0.19.2 docker://$TARGET_PATH/submariner/lighthouse-agent:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/lighthouse-coredns:0.19.2 docker://$TARGET_PATH/submariner/lighthouse-coredns:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/submariner-route-agent:0.19.2 docker://$TARGET_PATH/submariner/submariner-route-agent:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/nettest:0.19.2 docker://$TARGET_PATH/submariner/nettest:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker://$TARGET_PATH/kubebuilder/kube-rbac-proxy:v0.13.1 
    skopeo copy --insecure-policy --preserve-digests --all docker://gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker://$LOCAL_ISF_REGISTRY/$NAMESPACE/$(echo $REPO_PREFIX)kubebuilder-kube-rbac-proxy:v0.13.1
    Quay registry:
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/erasure-code/ibm-spectrum-scale-daemon@sha256:e9ef091df15e5d17166321869d62e5a58061d598bca4f68d9c8d2c05f2b45021 docker://$TARGET_PATH/erasure-code/ibm-spectrum-scale-daemon:e9ef091df15e5d17166321869d62e5a58061d598bca4f68d9c8d2c05f2b45021
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-core-init@sha256:8bd2d8d1663d5a709327561d92e962ed1e6fb4925df9925701a637cadc22be2b docker://$TARGET_PATH/ibm-spectrum-scale-core-init:8bd2d8d1663d5a709327561d92e962ed1e6fb4925df9925701a637cadc22be2b
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-gui@sha256:179fd0f462c15f303c7a006b1a8ad71f01cd4215bcac99ac46722e37a56dba93 docker://$TARGET_PATH/ibm-spectrum-scale-gui:179fd0f462c15f303c7a006b1a8ad71f01cd4215bcac99ac46722e37a56dba93
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/postgres@sha256:0bcc5bbbb2aa9c9b4c6505845918c7eb55d783cf5c1f434fac33012579fb149d docker://$TARGET_PATH/postgres:0bcc5bbbb2aa9c9b4c6505845918c7eb55d783cf5c1f434fac33012579fb149d
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-logs@sha256:ef767949384ffdf4f2067496051961a7b2c75e52d9255991ce0152072bfb9d2d docker://$TARGET_PATH/ibm-spectrum-scale-logs:ef767949384ffdf4f2067496051961a7b2c75e52d9255991ce0152072bfb9d2d
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-pmcollector@sha256:f4c3d343e92a9931830b2693bc274136a14f6f497e7da92c199a957b9c0a0c7a docker://$TARGET_PATH/ibm-spectrum-scale-pmcollector:f4c3d343e92a9931830b2693bc274136a14f6f497e7da92c199a957b9c0a0c7a
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-monitor@sha256:9543dfe369c3d1d4bd93f7c7743f990ae652e9bc2256a0ba6ed1d03e6924afd0 docker://$TARGET_PATH/ibm-spectrum-scale-monitor:9543dfe369c3d1d4bd93f7c7743f990ae652e9bc2256a0ba6ed1d03e6924afd0
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-grafana-bridge@sha256:b05cf7a8f6e1be3aa576f237075757fb318c9d3174f54410dbc17365176ce121 docker://$TARGET_PATH/ibm-spectrum-scale-grafana-bridge:b05cf7a8f6e1be3aa576f237075757fb318c9d3174f54410dbc17365176ce121
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-coredns@sha256:6a317b23fee629c0b07eb95d34ab7593bb38d41bffc5d1cd4cb2870539c66cd4 docker://$TARGET_PATH/ibm-spectrum-scale-coredns:6a317b23fee629c0b07eb95d34ab7593bb38d41bffc5d1cd4cb2870539c66cd4
    skopeo copy --all --preserve-digests docker://icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:4ce047b7b8f81652fd6c2c0a6682d92c08b5e99e1f31dcdde196e01267f58cc9 docker://$TARGET_PATH/ibm-spectrum-scale-must-gather:4ce047b7b8f81652fd6c2c0a6682d92c08b5e99e1f31dcdde196e01267f58cc9
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-ganesha@sha256:054e9e382241ec3bc2a6cab30f1a045b74674492b25afd1110896b4060d1ab6f docker://$TARGET_PATH/ibm-spectrum-scale-ganesha:054e9e382241ec3bc2a6cab30f1a045b74674492b25afd1110896b4060d1ab6f
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-stunnel@sha256:a2c94c1357fe27ef5070d8ea7ba39e9524243d925ffaf3af6300238b565de44b docker://$TARGET_PATH/ibm-spectrum-scale-stunnel:a2c94c1357fe27ef5070d8ea7ba39e9524243d925ffaf3af6300238b565de44b
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/ibm-spectrum-scale-pmsensors@sha256:c9270e17334eba8fd77733282bb78866fa7266e87d86bcb19146a116d4e83483 docker://$TARGET_PATH/ibm-spectrum-scale-pmsensors:c9270e17334eba8fd77733282bb78866fa7266e87d86bcb19146a116d4e83483
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-snapshotter@sha256:5f4bb469fec51147ce157329dab598c758da1b018bad6dad26f0ff469326d769 docker://$TARGET_PATH/csi/csi-snapshotter:5f4bb469fec51147ce157329dab598c758da1b018bad6dad26f0ff469326d769
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-attacher@sha256:69888dba58159c8bc0d7c092b9fb97900c9ca8710d088b0b7ea7bd9052df86f6 docker://$TARGET_PATH/csi/csi-attacher:69888dba58159c8bc0d7c092b9fb97900c9ca8710d088b0b7ea7bd9052df86f6
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-provisioner@sha256:d5e46da8aff7d73d6f00c761dae94472bcda6e78f4f17b3802dc89d44de0111b docker://$TARGET_PATH/csi/csi-provisioner:d5e46da8aff7d73d6f00c761dae94472bcda6e78f4f17b3802dc89d44de0111b
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/livenessprobe@sha256:2c5f9dc4ea5ac5509d93c664ae7982d4ecdec40ca7b0638c24e5b16243b8360f docker://$TARGET_PATH/csi/livenessprobe:2c5f9dc4ea5ac5509d93c664ae7982d4ecdec40ca7b0638c24e5b16243b8360f
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-node-driver-registrar@sha256:d7138bcc3aa5f267403d45ad4292c95397e421ea17a0035888850f424c7de25d docker://$TARGET_PATH/csi/csi-node-driver-registrar:d7138bcc3aa5f267403d45ad4292c95397e421ea17a0035888850f424c7de25d
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/csi-resizer@sha256:8ddd178ba5d08973f1607f9b84619b58320948de494b31c9d7cd5375b316d6d4 docker://$TARGET_PATH/csi/csi-resizer:8ddd178ba5d08973f1607f9b84619b58320948de494b31c9d7cd5375b316d6d4
    skopeo copy --all --preserve-digests docker://cp.icr.io/cp/gpfs/csi/ibm-spectrum-scale-csi-driver@sha256:4856f2904c1893e8893f6d8e6775c23fe0871f0547c5d24984d70bbbbb7b3580 docker://$TARGET_PATH/csi/ibm-spectrum-scale-csi-driver:4856f2904c1893e8893f6d8e6775c23fe0871f0547c5d24984d70bbbbb7b3580
    skopeo copy --all --preserve-digests docker://icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:8d74a489683d33a2e21d2b00b774d08b51861213fcd0a93ad93a1a1658595439 docker://$TARGET_PATH/ibm-spectrum-scale-csi-operator:8d74a489683d33a2e21d2b00b774d08b51861213fcd0a93ad93a1a1658595439
    skopeo copy --all --preserve-digests docker://icr.io/cpopen/ibm-spectrum-scale-operator@sha256:d2f9ebc3bb196ad85b931f2dabdce13aed2e6598227b8fc2434d6df9f840f696 docker://$TARGET_PATH/ibm-spectrum-scale-operator:d2f9ebc3bb196ad85b931f2dabdce13aed2e6598227b8fc2434d6df9f840f696
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/submariner-operator:0.19.2 docker://$TARGET_PATH/submariner/submariner-operator:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/submariner-gateway:0.19.2 docker://$TARGET_PATH/submariner/submariner-gateway:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/lighthouse-agent:0.19.2 docker://$TARGET_PATH/submariner/lighthouse-agent:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/lighthouse-coredns:0.19.2 docker://$TARGET_PATH/submariner/lighthouse-coredns:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/submariner-route-agent:0.19.2 docker://$TARGET_PATH/submariner/submariner-route-agent:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://quay.io/submariner/nettest:0.19.2 docker://$TARGET_PATH/submariner/nettest:0.19.2
    skopeo copy --insecure-policy --preserve-digests --all docker://gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker://$TARGET_PATH/kubebuilder/kube-rbac-proxy:v0.13.1 
    skopeo copy --insecure-policy --preserve-digests --all docker://gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker://$LOCAL_ISF_REGISTRY/$NAMESPACE/$(echo $REPO_PREFIX)kubebuilder-kube-rbac-proxy:v0.13.1
    Note: All commands must be successful.
  4. In the OpenShift® Container Platform cluster, add ImageDigestMirrorSet.
    Note:
    • Replace the variable $TARGET_PATH with your registry details where images are mirrored.
    • Do not add white spaces while you update the mirror paths. If you want to do so, add values within double quotation marks. For example, if the new path where the images are mirrored is registryhost.com:443/isf-new-path, then encapsulate within double quotation marks ("") while you edit to avoid white spaces in the line.
      
      - mirrors:
          - "registryhost.com:443/isf-new-path"
          - registryhost.com:443/old-path
          source: cp.icr.io/cp/spectrum/scale
    apiVersion: config.openshift.io/v1
    kind: ImageDigestMirrorSet
    metadata:
      name: isf-scale-idms
    spec:
      imageDigestMirrors:
        - mirrors:
            - $TARGET_PATH
          source: cp.icr.io/cp/spectrum/scale
        - mirrors:
            - $TARGET_PATH
          source: cp.icr.io/cp/gpfs
        - mirrors:
            - $TARGET_PATH
          source: icr.io/cpopen
    Note: Ensure that you use ImageTagMirrorSet only when you upgrade the IBM Storage Scale.
    apiVersion: config.openshift.io/v1
    kind: ImageTagMirrorSet
    metadata:
      name: isf-scale-itms
    spec:
      imageTagMirrors:
        - mirrors:
            - $TARGET_PATH/submariner
          source: quay.io/submariner
        - mirrors:
            - $TARGET_PATH/kubebuilder/kube-rbac-proxy
          source: gcr.io/kubebuilder/kube-rbac-proxy