Artifactory Domain Migration for Existing Release Artifacts
Background
The GE Artifactory domain is changing from dig-grid-artifactory.apps.ge.com to gart.software.gevernova.com.
After 31 March 2026, the old domain will no longer serve container images, Helm charts, or Maven artifacts. This affects both Connect platform deployments and Connect SDK users whose ~/.m2/settings.xml references the old Artifactory domain. Maven builds will fail to resolve dependencies after the cutover.
Scope and Impact
Installations that use connect-cache-containers (near-offline / air-gapped) are not affected by this domain change, because images are pulled from the local cache rather than from Artifactory.
For all other installations, older versions of the Connect chart reference dig-grid-artifactory.apps.ge.com in two places:
-
Helm chart repository URL: the Helm repository from which the chart is fetched. After the cutover,
helm repo updateandhelm pullagainst this URL will fail. -
Default image registry in chart values: the charts have
dig-grid-artifactory.apps.ge.comhardcoded as the image registry. After the cutover, Kubernetes will fail to pull images from the decommissioned domain, resulting inImagePullBackOfferrors and service downtime.
Update both references to point to gart.software.gevernova.com.
This page covers:
-
Preventive steps — actions to take before 31 March 2026 to avoid impact.
-
Resolution steps — actions to take after the cutover if image-pull failures occur.
Prerequisites
-
Access to the Kubernetes cluster (via
kubectlor equivalent). -
For RKE2 clusters: SSH access to cluster nodes.
-
Credentials for the new registry (
gart.software.gevernova.com).
Preventive Steps
1. Update the Helm Repository URL
Older Connect chart versions may reference the old Helm repository. Update the Helm repository to point to the new Artifactory domain:
#!/bin/bash
REPO_NAME="connect-helm"
REPO_URL="https://gart.software.gevernova.com/artifactory/api/helm/connect-helm"
# Remove old repo if it exists
if helm repo list 2>/dev/null | grep -q "^${REPO_NAME}"; then
echo "Removing existing '${REPO_NAME}' repo..."
helm repo remove "${REPO_NAME}"
fi
# Add the repo with the new URL
helm repo add "${REPO_NAME}" "${REPO_URL}"
helm repo update "${REPO_NAME}"
Repeat for any other Helm repositories that reference dig-grid-artifactory.apps.ge.com, for example, foundation-helm.
2. Configure Image Registry Access
|
This is a Foundation-wide change that affects all images pulled from GE Artifactory, including those used by Connect and other applications. The steps on this page do not supersede guidance from the GE Vernova Foundation team. Also review official communications from the Foundation team about this change. |
Choose one of the following approaches to ensure images can be pulled from the new domain. Use Option A for RKE2 clusters where SSH access to nodes is available. Use Option B for any Kubernetes distribution; it requires only Helm values changes.
Option A: Cluster-level Config (RKE2)
This option redirects all image pulls at the container runtime level and is recommended for RKE2-based clusters.
-
As a cluster administrator, replace
dig-grid-artifactory.apps.ge.comwithgart.software.gevernova.comin the registries file (usually/etc/rancher/rke2/registries.yaml), then restart the RKE2 process on each node.Example/etc/rancher/rke2/registries.yamlsnippetmirrors: ... gart.software.gevernova.com: endpoint: - "https://gart.software.gevernova.com" configs: ... gart.software.gevernova.com: auth: username: <GEV_WHITELISTED_USERNAME_OR_FSSO> password: <GEV_GART_TOKEN># Restart RKE2 on each node after updating registries.yaml sudo systemctl restart rke2-server # on server nodes sudo systemctl restart rke2-agent # on agent nodes -
If you use a configuration management tool such as Ansible to provision the RKE2 cluster, apply the change using the appropriate variables and template updates in your playbooks.
Option B: Chart-level Config
This option works on any Kubernetes distribution, including RKE2.
-
Create a Kubernetes image-pull secret for
gart.software.gevernova.com:kubectl create secret docker-registry gart-regcred \ --docker-server=gart.software.gevernova.com \ --docker-username=<GEV_WHITELISTED_USERNAME_OR_FSSO> \ --docker-password=<GEV_GART_TOKEN> \ --docker-email=<YOUR_EMAIL> \ --namespace <CONNECT_NAMESPACE> -
Add the secret to your Connect Helm values. Set either the global pull secret or the per-application equivalent:
# Global (applies to all Connect sub-charts) global: imagePullSecrets: - gart-regcred ## Or # Per-application (example for flowserver) flowserver: image: pullSecrets: - gart-regcred
3. Override the Image Registry in Helm Values
For older chart versions (1.25.0 and earlier) that have dig-grid-artifactory.apps.ge.com hardcoded, override the registry in your Connect overlay file.
Use global.imageRegistry
Set the global image registry, which applies to all Connect sub-charts:
# Connect native components (flowserver, identity, etc.)
global:
imageRegistry: "gart.software.gevernova.com"
Per-application Overrides
To override the registry for each Connect application individually, update the following values:
# Example: Connect flowserver
flowserver:
image:
registry: gart.software.gevernova.com
The connect-postgresql and connect-openbao sub-charts also have hardcoded references. Override them as follows:
# connect-postgresql overrides
image:
registry: gart.software.gevernova.com/foundation-docker
metrics:
image:
registry: gart.software.gevernova.com/chainguard-remote
# connect-openbao
jobs:
kubectl:
image:
registry: gart.software.gevernova.com
retention:
image:
registry: gart.software.gevernova.com
backup:
image:
registry: gart.software.gevernova.com
The upstream OpenBao Helm chart manages the OpenBao server image separately using the openbao.server.image configuration. If your environment uses a custom registry for the server image, update that reference as well.
|
4. Redeploy Connect
After applying the registry overrides to your overlay file, redeploy Connect with Helmfile:
helmfile -f <your-helmfile> apply
Verify all pods are running and images are being pulled from gart.software.gevernova.com:
# List all pods with their image references to confirm the new registry is in use
kubectl get pods -n <CONNECT_NAMESPACE> -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{"\n"}{end}{end}'
Resolution Steps (Post-Cutover)
If the domain change has already occurred and Connect pods are failing with ImagePullBackOff or ErrImagePull errors:
-
Identify affected pods:
kubectl get pods -n <CONNECT_NAMESPACE> | grep -E 'ImagePullBackOff|ErrImagePull' -
Confirm the image reference uses the old domain:
kubectl describe pod <POD_NAME> -n <CONNECT_NAMESPACE> | grep "dig-grid-artifactory" -
Apply one of the preventive steps in Preventive Steps (cluster-level or chart-level config), then redeploy.
-
Restart affected deployments to force an immediate re-pull:
kubectl rollout restart deployment -n <CONNECT_NAMESPACE> -
Verify recovery:
kubectl get pods -n <CONNECT_NAMESPACE>Confirm all pods return to
Runningstatus.
Connect Agent
The connect-agent.sh deployment script references images from the old GE Artifactory domain.
Air-gapped installations that use connect-cache-containers are not affected, because images are pulled from the local cache. Non-air-gapped installations that pull images directly from the registry will fail after the cutover date.
To remediate non-air-gapped installations:
-
Update the
connect-agent.shscript to reference image names using the new domaingart.software.gevernova.com. -
Ensure the cluster can pull from the new registry using one of the methods in Preventive Steps.
-
Redeploy the agent. Plan for a maintenance window, as redeployment may cause temporary downtime.
Connect SDK
If you build integration flows with Maven using the Connect SDK, ensure your local configuration points to the new Artifactory domain. This update is only required if your ~/.m2/settings.xml references the old domain.
-
In
~/.m2/settings.xml, replace all occurrences ofdig-grid-artifactory.apps.ge.comwithgart.software.gevernova.com.
settings.xml snippet (before → after)<!-- Before -->
<url>https://dig-grid-artifactory.apps.ge.com/artifactory/connect-maven</url>
<!-- After -->
<url>https://gart.software.gevernova.com/artifactory/connect-maven</url>