Broadcom is retiring the gcr.io Docker registry. Kubernetes deployments (AAKE) with values.yaml overrides pointing to gcr.io/esd-automic-saas/... must be migrated to packages.broadcom.com before the decommissioning date.
Failure to migrate will result in the following symptoms for new or restarted pods:
ImagePullBackOff errorsErrImagePull errorsPlease read the full KB ahead of migrating. Especially if you don't want to take a backup of your database during the migration as operator.pauseOnUpgrade will pause the process. Being unprepared for it or it may introduce unnecessary downtime.
Read more about the pauseOnUpgrade here: https://techdocs.broadcom.com/us/en/ca-enterprise-software/intelligent-automation/automic-automation/26-0/automic-automation/Content-Installation_Containers-containers_Upgrading.html
Important Note: Replacing your HELM charts might not be sufficient if you have custom configurations. Make sure you also adapt any custom settings in values.yaml that overrule the default settings of the values.yaml file packaged in the HELM chart. Please review or update your custom configuration to point repository location values to the packages.broadcom.com registry.
Their corresponding HELM charts for these releases already point to these docker images for fresh downloads.
Manual re-configuration of HELM charts that have already been downloaded for these versions (HELM 4.4.4, 4.4.4 HF1, 4.4.4 HF2, 4.4.5, 6.0.0) is possible as well.
Broadcom is consolidating Automic-branded portals into the Broadcom Support Portal. The migration involves moving from Google Container Registry (gcr.io) to a Broadcom-hosted Artifactory instance (packages.broadcom.com).
Authentication via gcr.io used GCP service account JSON keys. packages.broadcom.com uses JWT tokens via JFrog Artifactory. You must update both the registry URL in values.yaml and the Kubernetes image pull secret.
gcr.io remains available for 90 days after the legacy portal shutdown to allow for transition.
Old docker image path in HELM chart
New docker image path in HELM chart
This affects on-prem/customer-managed Kubernetes deployments (AAKE) pulling directly from gcr.io; SaaS-hosted instances are unaffected.
Per official guidelines, there are two supported options:
1. Generate a Registry Token: Navigate to the and generate a token. Your token remains valid for the duration of your active support contract.
2. Verify Connectivity: Confirm your network can reach the new registry path using your token saved in a file:
Update the repository.location in your values.yaml so that it overrides to use the new registry host. The path suffix remains identical.
Choose the method appropriate for your environment.
Option A: Create a brand-new secret
Option B: Update an existing secret This merges the new credentials into your existing secret without overwriting other registries. This reads the current secret's decoded contents first, then adds a new entry to its auths map:
The old gcr.io entry stays until manually removed. If this secret is shared and something else in the namespace still needs to pull from gcr.io, that keeps working. If not, the old GCP credential just sits there unused, decoded in plaintext on disk temporarily (config.json) until you delete those intermediate files.
Option C: Overwrite secret This is less ideal if you have multiple deployments of AAKE or if you share the secret with e.g. a containerized unix agent, it builds a brand-new .dockerconfig json from scratch containing only the one server you specify, then kubectl apply overwrites the whole secret object with it:
Run the standard helm upgrade command with your updated charts and values files.
Run the upgrade:
Mandatory Checkpoint: If operator.pauseOnUpgrade: true is set, the operator will pause and request a database backup. helm automic-automation update --continue should be enough (doc) otherwise see additional information for a workaround.
Verify that pods are pulling from the new host:
If your pods are healthy (Ready: True) but the URL returns a 404 Not Found / nginx page, the ingress objects are likely missing the ingressClassName.
Note: For a durable fix, uncomment ingressClassName in your values.yaml and run helm upgrade again.
automic-docker.packages.broadcom.com. Best for lab/test environments.ZDU (Zero Downtime Upgrade): Not supported for registry swaps. Use standard Helm upgrade (restart-mode).
ZDU requires upgrading to a higher Automic version. If you do not want to upgrade to a higher Automic version we recommend running a “standard” upgrade with downtime.
ZDU Upgrade Examples:
24.4.4 -> 24.4.4 (Same version / registry update only): Not supported via ZDU
24.4.4 -> 24.4.4 HFx = (Hotfix update): Supported via ZDU
24.4.4 HF1 -> 24.4.4 HF3 = (Hotfix increment): Supported via ZDU
24.4.4 -> 24.4.5 =(Minor version upgrade): Supported via ZDU
If you have set it to false, and it is still pausing or you ran helm automic-automation update --continue and the upgrade is still paused:
kubectl get cm <configmap-name> -n <namespace> -o jsonpath='{.metadata.labels.features\.aa-install-operator/command}'<breakpoint-name> with the text after pauseAt.):