Supported versions:
Unsupported versions:
This topic is intended as an example only. It explains how to obtain a TLS certificate from the certificate authority (CA) Let's Encrypt. These steps are provided primarily as an example to follow if you do not have another ready way to obtain a certificate/key pair that is authorized by a CA. The example shows how to generate certificates using the Let's Encrypt CA, the Certbot client, and Google Cloud Platform Cloud DNS.
You must provide TLS credentials for two Istio ingress gateways that are exposed outside the cluster:
| Gateway | TLS requirement |
|---|---|
| MART ingress gateway | Requires an authorized TLS certificate/key pair. |
| Runtime ingress gateway | You can use a self-signed certificate/key pair or authorized TLS credentials. |
apigee-hybrid-mart and apigee-hybrid-runtime. When you finish, you
will have two IP numbers to use in the cluster configuration in the next step. For example:
35.225.131.189 and 34.66.75.196apigee-hybrid-mart.
mart. For instructions, see
Create a new record.

apigee-hybrid-runtime.
apitest. For instructions, see
Create a new record.


Enter the domain name servers that you copied from the Network Services Cloud DNS page:

Now, your Google Cloud DNS will manage the DNS records for your domain.
Now that you have Cloud DNS set up to manage your domain servers, you will install the Certbot client with the dns_google plugin on a Cloud VM. The client enables you to get authorized certificates for your domain from a Let's Encrypt endpoint.
The Service accounts view displays a list of the project’s service accounts.
The Service account details view displays.

You can optionally add a description in the Service account description field. Descriptions are helpful at reminding you what a particular service account is used for.
GCP creates a new service account and displays the Service account permissions view. Use this view to assign a role to your new service account.
sudo su -yum -y install yum-utilsyum install certbot -yyum install certbot-dns-google -ycertbot certonly --dns-google -d *.your_domain_name,*.your_domain_name --server https://acme-v02.api.letsencrypt.org/directory
For example:
sudo su -yum -y install yum-utilsyum install certbot -yyum install certbot-dns-google -ycertbot certonly --dns-google -d *.apigee-hybrid-docs.net,*.apigee-hybrid-docs.net --server https://acme-v02.api.letsencrypt.org/directory
cd /etc/letsencrypt/live/your_domain_name/
For example:
cd /etc/letsencrypt/live/apigee-hybrid-docs.netlscert.pem chain.pem fullchain.pem privkey.pem README
fullchain.pem and privkey.pem to your
local machine.hostAlias, use the DNS name that you created previously.
For example:
envs:
- name: test
sslCertPath: "$HOME/hybrid/apigee-hybrid-setup/tls/fullchain.pem"
sslKeyPath: "$HOME/hybrid/apigee-hybrid-setup/tls/privkey.pem"
hostAlias: "apitest.apigee-hybrid-docs.net"
mart:
nodeSelector:
key: cloud.google.com/gke-nodepool
value: apigee-runtime
sslCertPath: "$HOME/hybrid/apigee-hybrid-setup/tls/fullchain.pem"
sslKeyPath: "$HOME/hybrid/apigee-hybrid-setup/tls/privkey.pem"
replicaCountMin: 1
replicaCountMax: 1
hostAlias: "mart.apigee-hybrid-docs.net"
If you changed the mart configuration, apply the changes:
apigeectl apply -f your_overrides_file -c mart
If you changed the envs configuration, apply the changes:
apigeectl apply -f your_overrides_file -c runtime
Deploy and test a proxy, as explained in Create and deploy a new API proxy.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-06-09 UTC.