Mirroring Certified Container images in an air-gapped environment
You can install certified containers in an AIR-GAP environment where
your OpenShift Container platform or Kubernetes cluster does not
have access to the internet. Therefore, it is important to properly
configure and install the certified containers in such an environment.

Required Tools and Resources:
- casectl
- cloud-pak-airgap-cli scripts (Ideally embedded as launch scripts in your CASE)
- cloudctl
Note: Download the above tools in VM and save them.
Procedure
- Run the command below to create a digest.yaml
file.
casectl digest --case <path of the helm charts>
- Set up CASE resolvers as below:
- Add URLs to the resolvers.yaml file.
- Add the userids and password keys to the resolvers-auth.yaml file.
- Run the command below to download the
CASES.
casectl check items --downloadDir /tmp/cases \ -c stable/ibm-b2bi-case-bundle/case/ibm-b2bi/ \ -i "*" \ --resourceAuthLocation ~/git/ibm-b2bi-case-bundle-resolversAuth.yaml \ --resourceLocation ~/git/ibm-b2bi-case-bundle-resolvers.yaml \ --force
- Check the downloaded CASES under the download directory
/tmp/cases.Note: The following CASES will be created under the download directory.
Charts ibm-b2bi-1.0.1-images.csv ibm-b2bi-1.0.1-charts.csv ibm-b2bi-1.0.1.tgz
- Update the fields below:
registry, image_name, tag, digest, mtype, os, arch, variant, insecure, digest_source,image_type and groups values in the images csv file.
- Mirror the images as below:
- Setup temporary registries.
- Run the command below to setup a temporary
registry.
./airgap.sh registry service init
- Run the command below to start the registry
service.
./airgap.sh registry service start
- Run the command below to add any credentials
required to mirror images into an internal
registry.
cloudctl case launch \ --case $CASEPATH \ --namespace $NS \ --inventory $ITEM \ --action configure-creds-airgap \ --args "--registry $SOURCE_REGISTRY --user $SOURCE_REGISTRY_USER --pass $SOURCE_REGISTRY_PASS" \ --tolerance 1
- Run the command below to setup a temporary
registry.
- Run the command below to mirror the
images.
cloudctl case launch \ --case $CASEPATH \ --namespace $NS \ --inventory $ITEM \ --action mirror-images \ --args "--registry $TARGET_REGISTRY --inputDir $OFFLINEDIR" \ --tolerance 1
- Setup temporary registries.
- Run the command below to configure cluster.
cloudctl case launch \ --case $CASEPATH \ --namespace $NS \ --inventory $ITEM \ --action configure-cluster-airgap \ --args "--registry $TARGET_REGISTRY --inputDir $OFFLINEDIR --dryRun" \ --tolerance 1
- Run the install tests
below:
cloudctl case launch \ --case $CASEPATH \ --namespace $NS \ --inventory $ITEM \ --action $ACTION \ --args "--additional_prop1 $VALUE1 --additional_prop2 $VALUE2" \ --tolerance 1