This document explains how to configure Apigee hybrid to use images from a private container image repository.
Overview
All Apigee hybrid runtime images are hosted in the Artifact Registry (AR). If for any reason you wish to employ a private image container repository,
you can download the images from AR, push them to your private repository. Instead of overriding each component, you
can add hub details on the overrides:
For example, if the following hub is provided, it will automatically resolve
the image path:
hub:private-docker-host.example.com
as:
## an example of internal component vs 3rd party
containers:
- name: apigee-udca
image: private-docker-host.example.com/apigee-udca:1.15.0
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.example.com/apigee-asm-ingress:1.22.6-asm.2-distroless
imagePullPolicy: IfNotPresent
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[],[],null,["# Use a private image repository with Apigee hybrid\n\nThis document explains how to configure Apigee hybrid to use images from a private container image repository.\n\nOverview\n--------\n\n\nAll Apigee hybrid runtime images are hosted in the [Artifact Registry](/artifact-registry/docs) (AR). If for any reason you wish to employ a private image container repository,\nyou can download the images from AR, push them to your private repository. Instead of overriding each component, you\ncan add hub details on the overrides:\n\nConfiguration steps\n-------------------\n\n\nSet the value of the [`hub` configuration property](/apigee/docs/hybrid/v1.15/config-prop-ref#hub) with path to your private repository. \n\n```actionscript-3\nhub: PRIVATE_REPO\n```\n\n\nFor example, if the following hub is provided, it will automatically resolve\nthe image path: \n\n```actionscript-3\nhub: private-docker-host.example.com\n```\n\nas: \n\n```text\n## an example of internal component vs 3rd party\ncontainers:\n- name: apigee-udca\n image: private-docker-host.example.com/apigee-udca:1.15.0\n imagePullPolicy: IfNotPresent\n\ncontainers:\n- name: apigee-ingressgateway\n image: private-docker-host.example.com/apigee-asm-ingress:1.22.6-asm.2-distroless\n imagePullPolicy: IfNotPresent\n```\n\n#### *Click to expand a list of Apigee images*\n\n```actionscript-3\napigee:\n gcr.io/apigee-release/hybrid/apigee-mart-server:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-synchronizer:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-runtime:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-udca:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-connect-agent:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-watcher:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-operators:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-redis:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:YOUR_HYBRID_VERSION_TAG\nthird party:\n gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-prom-prometheus:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-envoy:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-asm-ingress:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-asm-istiod:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-fluent-bit:YOUR_HYBRID_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-open-telemetry-collector:YOUR_HYBRID_VERSION_TAG\n```\n\n\nYou can see the original version tag of third-party images as a label returned by the `docker history` or `docker inspect` commands.\n\nTo display a list of the Apigee images hosted in the Google Cloud repository use the [`apigee-pull-push`](/apigee/docs/hybrid/v1.15/apigee-pull-push) command: \n\n```\n./apigee-operator/etc/tools/apigee-pull-push.sh --list\n```"]]