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.13.4
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.example.com/apigee-asm-ingress:1.18.7-asm.4-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."],[[["\u003cp\u003eApigee hybrid typically uses images from the Artifact Registry, but it can be configured to use images from a private container repository.\u003c/p\u003e\n"],["\u003cp\u003eTo use a private repository, you can download images from the Artifact Registry, push them to your private repository, and then configure Apigee to reference that repository.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ehub\u003c/code\u003e configuration property can be set to the path of your private repository to automatically resolve image paths for Apigee components.\u003c/p\u003e\n"],["\u003cp\u003eAn example is provided to clarify how the internal and third party images are resolved based on the \u003ccode\u003ehub\u003c/code\u003e property.\u003c/p\u003e\n"],["\u003cp\u003eA command is provided to be able to list the Apigee images from the Google Cloud repository.\u003c/p\u003e\n"]]],[],null,["# Use a private image repository with Apigee hybrid\n\n| You are currently viewing version 1.13 of the Apigee hybrid documentation. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\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.13/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.13.4\n imagePullPolicy: IfNotPresent\n\ncontainers:\n- name: apigee-ingressgateway\n image: private-docker-host.example.com/apigee-asm-ingress:1.18.7-asm.4-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:stackdriver-logging-agent_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-prom-prometheus:prom-prometheus_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:stackdriver-prometheus-sidecar_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:kube-rbac-proxy_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-envoy:envoy_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:prometheus-adapter_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-asm-ingress:SERVICE_MESH_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-asm-istiod:SERVICE_MESH_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-fluent-bit:fluent-bit_VERSION_TAG\n gcr.io/apigee-release/hybrid/apigee-open-telemetry-collector:open-telemetry-collector_VERSION_TAG\n \n```\n\nTo display a list of the Apigee images hosted in the Google Cloud repository on the command line:\n\n```\n./apigee-operator/etc/tools/apigee-pull-push.sh --list\n```"]]