Step 2: Download the Apigee Helm charts Stay organized with collections Save and categorize content based on your preferences.
This step explains how to download the Helm charts used to install and manage Apigee hybrid. Apigee hybrid charts are hosted inGoogle Artifact Registry:
oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
Prepare the directory structure
These steps are optional but recommended. The procedures will refer to the$APIGEE_HELM_CHARTS_HOME environment variable for the directory where you download the Apigee Helm Charts.
- Create a base directory for your hybrid installation and within that a directory for the charts:
mkdir -pAPIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME
for example:
mkdir -p apigee-hybrid/helm-charts
- Save the location of the Helm charts directory to an environmental variable for convenience:
cdAPIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME
export APIGEE_HELM_CHARTS_HOME=$PWD
Pull Apigee Helm charts
- In the
$APIGEE_HELM_CHARTS_HOMEdirectory, use thepullcommand to copy all of the Apigee hybrid Helm charts to your local storage:exportCHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
exportCHART_VERSION=1.11.2helm pull$CHART_REPO/apigee-operator --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-datastore --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-env --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-ingress-manager --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-org --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-redis --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-telemetry --version$CHART_VERSION --untarhelm pull$CHART_REPO/apigee-virtualhost --version$CHART_VERSION --untar - Optional: Verify that the charts expanded into the intended directory structure with the
treecommand. Your output should resemble the following.Tip: If your operating system does not have atreecommand, you can try a recursive directory command (UNIX/Linux:ls -R,Windows:dir /s /b).tree.├── apigee-datastore│ ├── Chart.yaml│ ├── templates│ │ ├── backup-cert.yaml│ │ ├── backup-cronjob.yaml│ │ ├── backup-gsa-secret.yaml│ │ ├── backup-key.yaml│ │ ├── backup-sa.yaml│ │ ├── datastore-secret.yaml│ │ ├── datastore.yaml│ │ ├── _helpers.tpl│ │ ├── NOTES.txt│ │ ├── restore-cert.yaml│ │ ├── restore-gsa-secret.yaml│ │ ├── restore-job.yaml│ │ ├── restore-key.yaml│ │ └── restore-sa.yaml│ └── values.yaml├── apigee-env│ ├── Chart.yaml│ ├── templates│ │ ├── encryption-keys-secret.yaml│ │ ├── environment.yaml│ │ ├── _helpers.tpl│ │ ├── NOTES.txt│ │ ├── runtime-gsa-secret.yaml│ │ ├── runtime-sa.yaml│ │ ├── synchronizer-gsa-secret.yaml│ │ ├── synchronizer-sa.yaml│ │ ├── udca-gsa-secret.yaml│ │ └── udca-sa.yaml│ └── values.yaml├── apigee-ingress-manager│ ├── Chart.yaml│ ├── templates│ │ ├── apigee-ca-issuer.yaml│ │ ├── apigee-istiod-certificate.yaml│ │ ├── _helpers.tpl│ │ ├── ingress-service-account.yaml│ │ ├── istio-config.yaml│ │ ├── istiod-deployment-with-apigee-controller.yaml│ │ ├── istiod-envoyfilters.yaml│ │ ├── istiod-hpa.yaml│ │ ├── istiod-service-account.yaml│ │ └── istiod-svc.yaml│ └── values.yaml├── apigee-operator│ ├── Chart.yaml│ ├── etc│ │ ├── crds│ │ │ ├── crd│ │ │ │ ├── bases│ │ │ │ │ ├── apigee.cloud.google.com_apigeedatastores.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeedeployments.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeeenvironments.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeeissues.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeeorganizations.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeeredis.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeerouteconfigs.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeeroutes.yaml│ │ │ │ │ ├── apigee.cloud.google.com_apigeetelemetries.yaml│ │ │ │ │ └── apigee.cloud.google.com_cassandradatareplications.yaml│ │ │ │ ├── kustomization.yaml│ │ │ │ ├── kustomizeconfig.yaml│ │ │ │ └── patches│ │ │ │ ├── cainjection_in_apigeedatastores.yaml│ │ │ │ ├── cainjection_in_apigeedeployments.yaml│ │ │ │ ├── cainjection_in_apigeeenvironments.yaml│ │ │ │ ├── cainjection_in_apigeeissues.yaml│ │ │ │ ├── cainjection_in_apigeeorganizations.yaml│ │ │ │ ├── cainjection_in_apigeeroutes.yaml│ │ │ │ ├── cainjection_in_apigeetelemetries.yaml│ │ │ │ ├── k8s_list_map_keys.yaml│ │ │ │ ├── nested_metadata_validation_properties.yaml│ │ │ │ ├── webhook_in_apigeedatastores.yaml│ │ │ │ ├── webhook_in_apigeedeployments.yaml│ │ │ │ ├── webhook_in_apigeeenvironments.yaml│ │ │ │ ├── webhook_in_apigeeissues.yaml│ │ │ │ ├── webhook_in_apigeeorganizations.yaml│ │ │ │ ├── webhook_in_apigeeroutes.yaml│ │ │ │ └── webhook_in_apigeetelemetries.yaml│ │ │ └── default│ │ │ └── kustomization.yaml│ │ ├── examples│ │ │ └── helmfiles│ │ │ ├── helmfile.yaml│ │ │ └── README.md│ │ └── tools│ │ ├── apigee-pull-push.sh│ │ ├── common.sh│ │ ├── create-service-account│ │ └── dump_kubernetes.sh│ ├── templates│ │ ├── apigee-operators-roles.yaml│ │ ├── apigee-operators.yaml│ │ ├── apigee-resources.yaml│ │ ├── cassandra-backup-clusterrolebinding.yaml│ │ ├── cassandra-backup-clusterrole.yaml│ │ ├── cassandra-restore-clusterrolebinding.yaml│ │ ├── cassandra-restore-clusterrole.yaml│ │ ├── _helpers.tpl│ │ ├── ingress-role-binding.yaml│ │ ├── ingress-role.yaml│ │ ├── istiod-cluster-role-binding.yaml│ │ ├── istiod-cluster-role.yaml│ │ ├── istiod-role-binding.yaml│ │ └── istiod-role.yaml│ └── values.yaml├── apigee-org│ ├── Chart.yaml│ ├── templates│ │ ├── ax-hash-salt-secret.yaml│ │ ├── connect-agent-gsa-secret.yaml│ │ ├── connect-agent-sa.yaml│ │ ├── data-encryption-secret.yaml│ │ ├── encryption-keys-secret.yaml│ │ ├── _helpers.tpl│ │ ├── mart-gsa-secret.yaml│ │ ├── mart-sa.yaml│ │ ├── NOTES.txt│ │ ├── organization.yaml│ │ ├── udca-gsa-secret.yaml│ │ ├── udca-sa.yaml│ │ ├── watcher-gsa-secret.yaml│ │ └── watcher-sa.yaml│ └── values.yaml├── apigee-redis│ ├── Chart.yaml│ ├── templates│ │ ├── _helpers.tpl│ │ ├── redis-creds-secret.yaml│ │ └── redis.yaml│ └── values.yaml├── apigee-telemetry│ ├── Chart.yaml│ ├── templates│ │ ├── apigee-logger-gsa-secret.yaml│ │ ├── apigee-logger-sa.yaml│ │ ├── apigee-metrics-gsa-secret.yaml│ │ ├── apigee-metrics-sa.yaml│ │ ├── apigee-telemetry.yaml│ │ ├── _helpers.tpl│ │ └── NOTES.txt│ └── values.yaml└── apigee-virtualhost ├── Chart.yaml ├── templates │ ├── apigee-route-config.yaml │ ├── ca-cert.yaml │ ├── cert.yaml │ └── _helpers.tpl └── values.yaml
You now have a tools to configure, deploy, and manage Apigee hybrid in your Kubernetes cluster. Next, you will create the Kubernetes namespace in which most hybrid components operate.12(NEXT) Step 3: Create the apigee namespace456789101112
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-05 UTC.