This article explains how to update the image registry configuration for a BMC Helix IT Operations Management (ITOM) On-Prem | Helix Platform Common Services (PCS) deployment when migrating from containers.bmc.com to docker.io.
BMC Helix recommends using a local image registry rather than pulling directly from containers.bmc.com or docker.io. This helps avoid latency/timeout issues or slowness during the image pull process.
The steps in this article apply to the environments that are already deployed:
Prerequisite: A valid Personal Access Token (PAT) generated from the BMC Electronic Product Distribution (EPD) portal.
Step 1: Generate a Personal Access Token (PAT)
-
Log in to the BMC Electronic Product Distribution (EPD) portal. Please refer to the reference documentation below.
-
Create and select the required product.
-
Generate a Personal Access Token (PAT).
Reference documentation:
Example:
Username: testuserbmc07680
PAT: dckr_pat_kG3nOSexampletoken
Follow the steps below for ITOM and PCS OnPrem Deployment that uses "containers.bmc.com" as the IMAGE_REGISTRY_HOST:
1. Edit the following file:
helix-on-prem-deployment-manager/configs/infra.config
Update the parameters:
IMAGE_REGISTRY_HOST=docker.io
IMAGE_REGISTRY_USERNAME=testuserbmc07680
Notes:
- The above username is an example; please replace it with the correct username
- Use the "IMAGE_REGISTRY_HOST" as docker.io [IMAGE_REGISTRY_HOST=docker.io]
- Do not change any other parameters
2. Update Image Registry Password
Edit the file:
helix-on-prem-deployment-manager/commons/certs/secrets.txt
Set the Personal Access Token (PAT) value:
IMAGE_REGISTRY_PASSWORD=dckr_pat_kG3nOSexampletoken
Notes:
The above value is an example; please replace it with the correct password (PAT) value.
If the Deployment Manager directory or the secrets.txt, infra.config, or deployment.config files are not available, please follow the section below titled ‘What should be done if the Deployment Manager directory or the secrets.txt, infra.config, and deployment.config files are no longer available.
3. Update Deployment Configuration
vi helix-on-prem-deployment-manager/configs/deployment.config
Set the following parameters:
IMAGE_REGISTRY_PROJECT=bmchelix
INSTALL_MODE=fresh
Set all the applications that were previously deployed to yes.
Note: Re-running the Deployment Manager with the deployment type set to INSTALL_MODE=fresh will not overwrite the PersistentVolumeClaim (PVC) data. Instead, it will simply refresh the resources under the ITOM / PCS namespaces with the updated image registry details. This process will not delete or recreate PVCs under the ITOM / PCS namespaces.
4. Delete the "secrets" directory from "helix-on-prem-deployment-manager/commons/certs."
5. Delete the current version's ConfigMap by taking a backup:
Note: Ignore this step #5 in case the ITOM/PCS version is 25.1 or below
Example:
kubectl get cm -n itom | grep -i helix
itom helix-install-status-25.4.00 9 39d
Take a backup:
Example:
kubectl get cm helix-install-status-25.4.00 -n itom -o yaml > helix-install-status-25.4.00.yaml
Then delete the ConfigMap:
kubectl delete cm helix-install-status-25.4.00 -n itom
6. Re-run the Deployment Manager:
Re-run the deployment-manager script.
This process updates the image registry configuration in all relevant YAML files within the BMC Helix ITOM On-Prem | PCS deployment namespace.
Follow the steps below for ITOM Deployments Using Harbor or an Internal Image Registry:
1. Generate a Personal Access Token (PAT): Follow the same steps described in "Step 1: Generate a Personal Access Token (PAT)" above to generate a PAT from the EPD portal.
2. Configure the Harbor Registry
Follow the official documentation for configuring a Harbor registry and synchronizing it with BMC DTR:
Refer to the section "To configure the Harbor registry."
3. Configure Other Image Registries
For registries other than Harbor, update the registry username and password (PAT) according to the registry provider’s authentication requirements.
What should be done if the Deployment Manager directory or the secrets.txt, infra.config, and deployment.config files are no longer available?
Please follow the steps below to restore the Deployment Manager directory and the secrets.txt, infra.config, and deployment.config files, and then perform the steps described above.
Extract the Deployment Manager package (details are here)
This creates a new helix-on-prem-deployment-manager directory.
In the new directory, navigate to:
helix-on-prem-deployment-manager/utilities/upgrade
Run the following command:
./upgrade-configuration.sh helix-platform
Note: helix-platform is the Platform Common Services (PCS) namespace. Replace it with the actual namespace used in the environment.
The script updates the following files based on the last successful deployment:
secrets.txt
infra.config
deployment.config
Review the deployment.config file and update the following:
Set:
IMAGE_REGISTRY_PROJECT=bmchelix
INSTALL_MODE=fresh
Set all applications that were previously deployed to yes.
If a custom-signed or self-signed certificate is used, copy the custom_cacert.pem file to the following directory: helix-on-prem-deployment-manager/commons/certs
Follow the steps below for BMC Helix Logging is deployed under a separate namespace and that uses "containers.bmc.com" as the IMAGE_REGISTRY_HOST:
If BMC Helix Logging is deployed in a separate namespace, and users need to update the resources to pull images from docker.io instead of containers.bmc.com:
Run:
cd helix-on-prem-deployment-manager/utilities/bmc-helix-logging/
./bmc-helix-logging-deployer.sh fresh
This will refresh the BMC Helix Logging resources and update the image registry to docker.io. The image registry details will be pulled from the helix-on-prem-deployment-manager/configs/infra.config and secrets.txt files.
Refer to the following documentation to deploy or upgrade BMC Helix Logging
Also, please make sure to configure the Index Lifecycle Management (ILM) Policy
Please refer to the article linked below for instructions on updating the image registry from containers.bmc.com to docker.io for BMC Helix IT Service Management (ITSM) On-Premises deployments.
This article explains how to reconfigure the registry settings effectively.
BMC Helix IT Service Management (ITSM) On-Prem Deployment: How to Update Image Registry Details from containers.bmc.com to docker.io for Helix ITSM
The steps in this article apply to environments that are already deployed using: containers.bmc.com or Harbor (or other internal image registries).