Use a private image repository with Apigee hybrid

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:

Configuration steps

Set the value of the hub configuration property with path to your private repository.

hub: PRIVATE_REPO

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.14.0
  imagePullPolicy: IfNotPresent

containers:
- name: apigee-ingressgateway
  image: private-docker-host.example.com/apigee-asm-ingress:1.18.7-asm.4-distroless
  imagePullPolicy: IfNotPresent
apigee:
    gcr.io/apigee-release/hybrid/apigee-mart-server:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-synchronizer:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-runtime:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-udca:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-connect-agent:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-watcher:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-operators:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-redis:YOUR_HYBRID_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:YOUR_HYBRID_VERSION_TAG
third party:
    gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:stackdriver-logging-agent_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-prom-prometheus:prom-prometheus_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:stackdriver-prometheus-sidecar_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:kube-rbac-proxy_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-envoy:envoy_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:prometheus-adapter_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-asm-ingress:SERVICE_MESH_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-asm-istiod:SERVICE_MESH_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-fluent-bit:fluent-bit_VERSION_TAG
    gcr.io/apigee-release/hybrid/apigee-open-telemetry-collector:open-telemetry-collector_VERSION_TAG
  

To display a list of the Apigee images hosted in the Google Cloud repository on the command line:

./apigee-operator/etc/tools/apigee-pull-push.sh --list