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:

  1. Helm chart repository URL: the Helm repository from which the chart is fetched. After the cutover, helm repo update and helm pull against this URL will fail.

  2. Default image registry in chart values: the charts have dig-grid-artifactory.apps.ge.com hardcoded as the image registry. After the cutover, Kubernetes will fail to pull images from the decommissioned domain, resulting in ImagePullBackOff errors 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 kubectl or 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.com with gart.software.gevernova.com in the registries file (usually /etc/rancher/rke2/registries.yaml), then restart the RKE2 process on each node.

    Example /etc/rancher/rke2/registries.yaml snippet
    mirrors:
      ...
      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.

  1. 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>
  2. 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:

  1. Identify affected pods:

    kubectl get pods -n <CONNECT_NAMESPACE> | grep -E 'ImagePullBackOff|ErrImagePull'
  2. Confirm the image reference uses the old domain:

    kubectl describe pod <POD_NAME> -n <CONNECT_NAMESPACE> | grep "dig-grid-artifactory"
  3. Apply one of the preventive steps in Preventive Steps (cluster-level or chart-level config), then redeploy.

  4. Restart affected deployments to force an immediate re-pull:

    kubectl rollout restart deployment -n <CONNECT_NAMESPACE>
  5. Verify recovery:

    kubectl get pods -n <CONNECT_NAMESPACE>

    Confirm all pods return to Running status.

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:

  1. Update the connect-agent.sh script to reference image names using the new domain gart.software.gevernova.com.

  2. Ensure the cluster can pull from the new registry using one of the methods in Preventive Steps.

  3. 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.

  1. In ~/.m2/settings.xml, replace all occurrences of dig-grid-artifactory.apps.ge.com with gart.software.gevernova.com.

Example 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>