Mirroring images with an intermediary container registry
If your Red Hat® OpenShift® Container Platform cluster is air-gapped, you must mirror the software images that you need to a private container registry that is accessible from the cluster. You can use an intermediary container registry to mirror the images from the IBM® Entitled Registry to a private container registry.
To obtain fixes, security updates, and new functionality, you must install the latest refresh of the software images, such as the control plane, shared cluster components, and services. The steps in this task assume that you are mirroring the latest software images. If you need older versions of the software, see Operator and operand versions.
- Red Hat Quay.io (https://quay.io:443)
- GitHub (https://github.com)
If your company does not permit access to GitHub, contact IBM Support for assistance.
- IBM Entitled Registry (http://icr.io:443)
To validate that you can connect, run the following command:
curl -v https://icr.io
The command should return the following message:* Connected to icr.io (169.60.98.86) port 443 (#0)
Before you begin
Ensure that you run the environment variable script before you run the commands in this task.
Procedure
Complete the following tasks to mirror the images to your private container registry:
- 1. Installing the software needed to mirror images
- 2. Setting up your environment to download CASE packages
- 3. Downloading the IBM Cloud Pak for Data platform operator CASE package
- 4. Configuring credentials for mirroring images
- 5. Setting up an intermediary container registry
- 6. Downloading shared cluster component CASE packages
- 7. Downloading service CASE packages
- 8. Mirroring the images to the intermediary container registry
- 9. Setting up a workstation to serve images
- 10. Mirroring images to the private container registry
- 11. Storing the CASE packages
1. Installing the software needed to mirror images
To use an intermediary container registry, you must install the following software on the system:
Prerequisite | Purpose |
---|---|
One of the following container client tools:
|
Required to set up an intermediary container registry for the images that you download. |
OpenSSL Version 1.1.1 or later | Required to generate TLS certificates and keys for use with the intermediary container registry. |
OpenShift CLI | Required to interact with your Red Hat OpenShift Container Platform cluster. |
IBM Cloud Pak® CLI (cloudctl) | Required to download images from the IBM Entitled Registry. |
httpd-tools |
Required to run the IBM Cloud Pak CLI (cloudctl). |
skopeo Version 1.2.0 or later |
Required to run the IBM Cloud Pak CLI (cloudctl). |
To install the prerequisite software:
- Install the container client tool of your choice:
- To install Docker, run the following
commands:
yum check-update yum install docker
- To install Podman, see the Podman installation instructions on the Podman site.
- To install Docker, run the following
commands:
- To install OpenSSL, see Downloads on the OpenSSL site.
- To install the OpenShift CLI, see Getting started with the OpenShift CLI in the Red Hat documentation.
- To install the IBM Cloud Pak CLI (cloudctl):
- Download the
cloudctl
software from the IBM/cloud-pak-cli repository on GitHub. Ensure that you download the appropriate package for your workstation:cloudctl-operating-system-architecture.tar.gz
- Extract the contents of the archive
file:
tar -xzf archive-name
- Change to the directory where you extracted the file and make the file
executable:
chmod 775 cloudctl-architecture
- Move the file to the /usr/local/bin
directory:
mv cloudctl-architecture /usr/local/bin/cloudctl
- Confirm that the IBM Cloud Pak CLI (cloudctl) is
installed:
cloudctl --help
Tip: Additional guidance for validating the archive file is available in the IBM/cloud-pak-cli repository. - Download the
- To install
httpd-tools
, run the following command:yum install httpd-tools
- To install
skopeo
, see Installing from packages in theskopeo
repository on GitHub.
2. Setting up your environment to download CASE packages
To set up your environment:
- Ensure that the directories specified in the environment
variable script exist on the workstation where you are running the commands to mirror the images:
- Confirm that the directory specified by
OFFLINEDIR_CPD
exists:echo $OFFLINEDIR_CPD
- If you need to mirror the images for IBM Cloud Pak
foundational services, confirm that the directory
specified by
OFFLINEDIR_CPFS
exists:echo $OFFLINEDIR_CPFS
- Confirm that the directory specified by
3. Downloading the IBM Cloud Pak for Data platform operator CASE package
- Run the following command to download the IBM Cloud Pak for Data platform
operator
package:
cloudctl case save \ --repo ${PATH_CASE_REPO} \ --case ibm-cp-datacore \ --version 2.0.13+05022022 \ --outputdir ${OFFLINEDIR_CPD} \ --no-dependency
export CLOUDCTL_HTTP_TIMEOUT=60
4. Configuring credentials for mirroring images
The IBM Cloud Pak CLI (cloudctl)
includes an action called configure-cred-airgap
. Run the appropriate commands to
store the credentials that you will need to mirror images to the private container registry. The
command stores the credentials to the following file on your local file system:
$HOME/.airgap/secrets.
To configure the credentials that you need to mirror software images:
- Store the IBM Entitled Registry
credentials by running the following
command:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action configure-creds-airgap \ --args "--registry cp.icr.io --user ${IBM_ENTITLEMENT_USER} --pass ${IBM_ENTITLEMENT_KEY} --inputDir ${OFFLINEDIR_CPD}"
- Store the intermediary container registry
credentials:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action configure-creds-airgap \ --args "--registry ${INTERMEDIARY_REGISTRY_LOCATION} --user ${INTERMEDIARY_REGISTRY_USER} --pass ${INTERMEDIARY_REGISTRY_PASSWORD}"
5. Setting up an intermediary container registry
You must create an intermediary container registry where you can mirror the images before you can mirror them to the private container registry.
To create an intermediary container registry:
- To initialize the intermediary container registry, run the following
command:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action init-registry \ --args "--registry ${INTERMEDIARY_REGISTRY_HOST} --user ${INTERMEDIARY_REGISTRY_USER} --pass ${INTERMEDIARY_REGISTRY_PASSWORD} --dir ${OFFLINEDIR_CPD}/imageregistry"
- Confirm that
USE_SKOPEO
is set totrue
:echo $USE_SKOPEO
- To start the intermediary container registry, run the following
command:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action start-registry \ --args "--port ${INTERMEDIARY_REGISTRY_PORT} --dir ${OFFLINEDIR_CPD}/imageregistry --image docker.io/library/registry:2"
- To verify that the intermediary container registry is running, run the
following commands:
Container client Commands Docker List the containers by running: docker ps
Podman List the containers by running: podman ps
7. Downloading service CASE packages
Decide which services you plan to install on your cluster and download the appropriate CASE packages.
Anaconda Repository for IBM Cloud Pak for Data
Not applicable. For details, see Installing Anaconda Repository for IBM Cloud Pak for Data.
Analytics Engine Powered by Apache Spark
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-analyticsengine \
--version 4.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Cognos Analytics
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-cognos-analytics-prod \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
Cognos Dashboards
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-cde \
--version 2.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Data Privacy
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-dp \
--version 4.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Data Refinery
The Data Refinery CASE package is automatically downloaded when you download the CASE package for either Watson Knowledge Catalog or Watson Studio.
Data Virtualization
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-dv-case \
--version 1.7.8 \
--outputdir ${OFFLINEDIR_CPD}
DataStage
Download the appropriate package based on your license:
- DataStage Enterprise
-
cloudctl case save \ --repo ${PATH_CASE_REPO} \ --case ibm-datastage-enterprise \ --version 4.0.10 \ --outputdir ${OFFLINEDIR_CPD}
- DataStage Enterprise Plus
-
cloudctl case save \ --repo ${PATH_CASE_REPO} \ --case ibm-datastage \ --version 4.0.10 \ --outputdir ${OFFLINEDIR_CPD}
Db2
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-db2oltp \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
Db2 Big SQL
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-bigsql-case \
--version 7.2.8 \
--outputdir ${OFFLINEDIR_CPD}
Db2 Data Gate
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-datagate-prod \
--version 4.0.8 \
--outputdir ${OFFLINEDIR_CPD}
Db2 Data Management Console
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-dmc \
--version 4.0.8 \
--outputdir ${OFFLINEDIR_CPD}
Db2 Event Store
Not applicable. Contact IBM Software support if you plan to install this service.
Db2 Warehouse
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-db2wh \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
Decision Optimization
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-dods \
--version 4.0.9 \
--outputdir ${OFFLINEDIR_CPD}
EDB Postgres
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-cpd-edb \
--version 4.0.8 \
--outputdir ${OFFLINEDIR_CPD}
Execution Engine for Apache Hadoop
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-hadoop \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
Financial Services Workbench
Not applicable. For details, see the Financial Services Workbench documentation.
Guardium External S-TAP
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-estap \
--version 1.0.0 \
--outputdir ${OFFLINEDIR_CPD}
IBM Match 360 with Watson
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-mdm \
--version 1.0.209 \
--outputdir ${OFFLINEDIR_CPD}
Informix
Download both of the following CASE packages:
-
cloudctl case save \ --repo ${PATH_CASE_REPO} \ --case ibm-informix-operator \ --version 4.0.6 \ --outputdir ${OFFLINEDIR_CPD}
-
cloudctl case save \ --repo ${PATH_CASE_REPO} \ --case ibm-informix-cp4d-operator \ --version 4.0.6 \ --outputdir ${OFFLINEDIR_CPD}
MongoDB
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-cpd-mongodb \
--version 4.0.8 \
--outputdir ${OFFLINEDIR_CPD}
Open Data for Industries
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-osdu \
--version 3.0.0 \
--outputdir ${OFFLINEDIR_CPD}
OpenPages
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-openpages \
--version 2.1.5+20220414.030441.82040426 \
--outputdir ${OFFLINEDIR_CPD}
- Db2 as a service
-
cloudctl case save \ --repo ${PATH_CASE_REPO} \ --case ibm-db2aaservice \ --version 4.0.10 \ --outputdir ${OFFLINEDIR_CPD}
Planning Analytics
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-planning-analytics \
--version 4.0.90573 \
--outputdir ${OFFLINEDIR_CPD}
Product Master
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-productmaster \
--version 1.0.4+20220511.175530.3 \
--outputdir ${OFFLINEDIR_CPD}
RStudio Server with R 3.6
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-rstudio \
--version 1.0.9 \
--outputdir ${OFFLINEDIR_CPD}
SPSS Modeler
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-spss \
--version 1.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Virtual Data Pipeline
Not applicable. For details, see Installing Virtual Data Pipeline for Cloud Pak for Data.
Voice Gateway
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-voice-gateway \
--version 1.0.6 \
--outputdir ${OFFLINEDIR_CPD}
Watson Assistant
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-watson-assistant \
--version 4.0.8 \
--outputdir ${OFFLINEDIR_CPD}
Watson Assistant for Voice Interaction
- Voice Gateway
- Watson Assistant
- Watson Speech to Text
- Watson Text to Speech
Download the appropriate services for your use case.
Watson Discovery
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-watson-discovery \
--version 4.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Watson Knowledge Catalog
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-wkc \
--version 4.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Watson Knowledge Studio
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-watson-ks \
--version 4.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Watson Machine Learning
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-wml-cpd \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
Watson Machine Learning Accelerator
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-wml-accelerator \
--version 2.3.9 \
--outputdir ${OFFLINEDIR_CPD}
Watson OpenScale
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-watson-openscale \
--version 2.5.4 \
--outputdir ${OFFLINEDIR_CPD}
Watson Speech to Text
The same package is used for the Watson Speech to Text service and the Watson Text to Speech service. You only need to download the package once.
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-watson-speech \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
Watson Studio
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-wsl \
--version 2.0.9 \
--outputdir ${OFFLINEDIR_CPD}
Watson Studio Runtimes
The Watson Studio Runtimes CASE package is automatically downloaded when you download the CASE package for Watson Studio.
Watson Text to Speech
The same package is used for the Watson Speech to Text service and the Watson Text to Speech service. You only need to download the package once.
cloudctl case save \
--repo ${PATH_CASE_REPO} \
--case ibm-watson-speech \
--version 4.0.10 \
--outputdir ${OFFLINEDIR_CPD}
8. Mirroring the images to the intermediary container registry
- Some CASE
packages include images that require entitlement. If you are not entitled to use those images, you
must delete the images:
- If you did not purchase a license for EDB Postgres Enterprise, run the following command to
remove any
edb-postgres-advanced
images from the list of images to mirror.If you purchased a license for EDB Postgres Enterprise, skip this step.
sed -i -e '/edb-postgres-advanced/d' ${OFFLINEDIR_CPD}/ibm-cloud-native-postgresql-4.0.*-images.csv
- If you downloaded the Informix
CASE packages, delete the images that
you are not entitled to.
By default, the
ibm-informix-operator
CASE package includes the images for the following editions of Informix:- Developer Edition (free)
- Workgroup Edition
- Enterprise Edition
- Advanced Enterprise Edition
Run the appropriate commands to delete the images for any editions that you are not entitled to:
- Advanced Enterprise Edition
- If you did not purchase a license for Informix Advanced Enterprise Edition, run the
following command to delete the Advanced Enterprise Edition
images:
sed -i -e '/informix-edition-aee/d' ${OFFLINEDIR_CPD}/ibm-informix-operator-4.0.*-images.csv
- Enterprise Edition
- If you did not purchase a license for Informix Enterprise Edition, run the following
command to delete the Enterprise Edition
images:
sed -i -e '/informix-edition-ee/d' ${OFFLINEDIR_CPD}/ibm-informix-operator-4.0.*-images.csv
- Workgroup Edition
- If you did not purchase a license for Informix Workgroup Edition, run the following command
to delete the Workgroup Edition
images:
sed -i -e '/informix-edition-we/d' ${OFFLINEDIR_CPD}/ibm-informix-operator-4.0.*-images.csv
- If you did not purchase a license for EDB Postgres Enterprise, run the following command to
remove any
- Use the Cloud Pak for Data platform
CASE package to mirror all of the
images from the OFFLINEDIR directory to the intermediary container registry:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action mirror-images \ --args "--registry ${INTERMEDIARY_REGISTRY_LOCATION} --inputDir ${OFFLINEDIR_CPD}"
Remember: The mirror-images command mirrors any changed images in the ${OFFLINEDIR}. - If you downloaded the IBM Cloud Pak
foundational services
CASE package, mirror the images from
the OFFLINEDIR_CPFS directory to the intermediary container
registry:
cloudctl case launch \ --case ${OFFLINEDIR_CPFS}/ibm-cp-common-services-1.14.0.tgz \ --inventory ibmCommonServiceOperatorSetup \ --action mirror-images \ --args "--registry ${INTERMEDIARY_REGISTRY_LOCATION} --inputDir ${OFFLINEDIR_CPFS}"
- Determine the appropriate action based on the mirroring method that
you are using:
Method Next steps Portable compute device - Move the portable compute device behind your firewall or connect the device to your private network.
- Complete 10. Mirroring images to the private container registry
File transfer with a portable storage device - Save a copy of the environment variable script to
${OFFLINEDIR_CPD}
on the portable storage device. - Save a copy of the software that you downloaded when you completed 1. Installing the software needed to miror images to
${OFFLINEDIR_CPD}
on the portable storage device. - Save the Docker registry image:
- For Docker,
run:
docker save docker.io/library/registry:2 -o ${OFFLINEDIR_CPD}/registry.tar
- For Podman,
run:
podman save docker.io/library/registry:2 -o ${OFFLINEDIR_CPD}/registry.tar
- For Docker,
run:
- Disconnect the portable storage device and move the device behind your firewall.
- Identify a workstation from which you can access the private container registry, where you can start the intermediary container registry, and where you can attach the portable storage device.
- Set an environment variable for the directory where the portable storage device is attached. For
example:
export OFFLINEDIR_CPD=$HOME/offline
- Complete 9. Setting up a workstation to serve images.
File transfer with scp
orsftp
- Save a copy of the environment variable script to
${OFFLINEDIR_CPD}
. - Save a copy of the software that you downloaded when you completed 1. Installing the software needed to mirror images to
${OFFLINEDIR_CPD}
. - Save the Docker registry image:
- For Docker,
run:
docker save docker.io/library/registry:2 -o ${OFFLINEDIR_CPD}/registry.tar
- For Podman,
run:
podman save docker.io/library/registry:2 -o ${OFFLINEDIR_CPD}/registry.tar
- For Docker,
run:
- Archive the contents off the
${OFFLINEDIR_CPD}
directory:tar -cvzf archive-file-name -c ${OFFLINEDIR_CPD}
- Identify a workstation from which you can access the private container registry and where you can start the intermediary container registry.
- Copy the archive file to the workstation using
scp
orsftp
. - Identify or create the directory where you want to serve the images. For
example:
mkdir -p $HOME/offline
- Set an environment variable for this
directory:
export OFFLINEDIR_CPD=$HOME/offline
- Extract the contents of the
archive:
tar -xvf archive-file-name -c ${OFFLINEDIR_CPD}
- Complete 9. Setting up a workstation to serve images
9. Setting up a workstation to serve images
Skip this step if you are using a portable compute device.
If you are transferring the files inside your firewall, you must set up a workstation to serve the images so that you can transfer them to the private container registry.
To set up the workstation:
- Install the software that you installed in 1. Installing the software needed to mirror images. Remember: For any software that you downloaded, you should have a copy of the software in the
${OFFLINEDIR_CPD}
. - Use the IBM Cloud Pak for Data platform
operator package to set up the
intermediary container registry on the cluster node:
- Set the following environment variables for the IBM Cloud Pak for Data platform
operator:
export CASE_ARCHIVE=ibm-cp-datacore-2.0.13+05022022.tgz export CASE_INVENTORY_SETUP=cpdPlatformOperator
- Set environment variables for the intermediary container registry credentials by running the
environment variable script on the workstation. For
example:
source ./cpd_vars.sh
- Initialize the intermediary container
registry:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action init-registry \ --args "--registry ${INTERMEDIARY_REGISTRY_HOST} --user ${INTERMEDIARY_REGISTRY_USER} --pass ${INTERMEDIARY_REGISTRY_PASSWORD} --dir ${OFFLINEDIR_CPD}/imageregistry"
- Confirm that
USE_SKOPEO
is set totrue
:echo $USE_SKOPEO
- Start the intermediary container
registry:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action start-registry \ --args "--port ${INTERMEDIARY_REGISTRY_PORT} --dir ${OFFLINEDIR_CPD}/imageregistry --image docker.io/library/registry:2"
- To verify that the intermediary container registry is running, run the
following commands:
Container client Commands Docker List the containers by running: docker ps
Podman List the containers by running: podman ps
- Set the following environment variables for the IBM Cloud Pak for Data platform
operator:
10. Mirroring images to the private container registry
To mirror the images:
- Store the intermediary container registry
credentials:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action configure-creds-airgap \ --args "--registry ${INTERMEDIARY_REGISTRY_LOCATION} --user ${INTERMEDIARY_REGISTRY_USER} --pass ${INTERMEDIARY_REGISTRY_PASSWORD}"
- Store the private container registry
credentials.
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action configure-creds-airgap \ --args "--registry ${PRIVATE_REGISTRY_LOCATION} --user ${PRIVATE_REGISTRY_PUSH_USER} --pass ${PRIVATE_REGISTRY_PUSH_PASSWORD}"
- Use the Cloud Pak for Data
platform CASE package to mirror all
of the images to the private container registry:
cloudctl case launch \ --case ${OFFLINEDIR_CPD}/ibm-cp-datacore-2.0.13+05022022.tgz \ --inventory cpdPlatformOperator \ --action mirror-images \ --args "--fromRegistry ${INTERMEDIARY_REGISTRY_LOCATION} --registry ${PRIVATE_REGISTRY_LOCATION} --user ${PRIVATE_REGISTRY_PUSH_USER} --pass ${PRIVATE_REGISTRY_PUSH_PASSWORD} --inputDir ${OFFLINEDIR_CPD}"
- If you mirrored the IBM Cloud Pak
foundational services images to the intermediary
container registry, run the following command to mirror the images to the private container
registry:
cloudctl case launch \ --case ${OFFLINEDIR_CPFS}/ibm-cp-common-services-1.14.0.tgz \ --inventory ibmCommonServiceOperatorSetup \ --action mirror-images \ --args "--fromRegistry ${INTERMEDIARY_REGISTRY_LOCATION} --registry ${PRIVATE_REGISTRY_LOCATION} --user ${PRIVATE_REGISTRY_PUSH_USER} --pass ${PRIVATE_REGISTRY_PUSH_PASSWORD} --inputDir ${OFFLINEDIR_CPFS}"
11. Storing the CASE packages
CASE packages specify dependencies as a range, so it is possible to get a later version of the dependencies if you download the CASE package on different dates.
Saving the downloaded CASE packages prevents any discrepancies.
What's next Now that you've mirrored the images to your private container registry, you are ready to complete Configuring your cluster to pull Cloud Pak for Data images.