This step explains how to create the TLS credentials
that are required for Apigee hybrid to operate.
Create TLS certificates
You are required to provide TLS certificates for the runtime ingress gateway in your
Apigee hybrid configuration. For the purpose of this quickstart (a non-production trial installation),
the runtime gateway can accept self-signed credentials. In the following steps,
openssl is used to generate the self-signed credentials.
In this step, you will create the TLS credential files and add them to
the $APIGEE_HELM_CHARTS_HOME/certs directory.
In
Step 6: Create the overrides, you will add the file paths to the cluster
configuration file.
Create a directory for the credential files. Helm charts cannot read files outside the chart
directory, and the TLS credentials are managed with the apigee-virtualhost chart.
therefore create your directory for the credential files within the
$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/ directory.
DOMAIN is the domain you provided as the hostname for the environment
group you created in Create an environment group.
ENV_GROUP is the name of the environment group where the domain is specified
as a hostname. It's a good practice to include the environment group name in the key and keystore
name to avoid accidentally reusing the same domain value if you create keys for multiple environment groups.
This command creates a self-signed certificate/key pair that you can use for the quickstart
installation.
If you have additional environment groups with unique domain names, repeat this step for each
environment group. You will reference these groups and certificates in the cluster
configuration step.
Check to make sure the files are in the $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs directory using the following command:
ls $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs
This you should see two files:
keystore_ENV_GROUP.pem or keystore_ENV_GROUP.crt is the self-signed TLS certificate file.
keystore_ENV_GROUP.key
is the key file.
You now have the credentials needed to manage Apigee hybrid
in your Kubernetes cluster. Next, you will create an overrides file that is used by Kubernetes
to deploy the hybrid runtime components to the cluster.
[[["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,["This step explains how to create the TLS credentials\nthat are required for Apigee hybrid to operate.\n\nCreate TLS certificates\n\n\nYou are required to provide TLS certificates for the runtime ingress gateway in your\nApigee hybrid configuration. For the purpose of this quickstart (a non-production trial installation),\nthe runtime gateway can accept self-signed credentials. In the following steps,\n[openssl](https://www.openssl.org/) is used to generate the self-signed credentials.\n| **Note:** In a production environment, you will need to use signed certificates. You can use either a certificate and key pair or a Kubernetes secret. For an example on how to obtain a TLS certificate from the *Lets Encrypt* certificate authority (CA), see [Obtain TLS credentials: An example](/apigee/docs/hybrid/v1.15/lets-encrypt).\n\n\nIn this step, you will create the TLS credential files and add them to\nthe `$APIGEE_HELM_CHARTS_HOME/certs` directory.\nIn [Step 6: Create the overrides](/apigee/docs/hybrid/v1.15/install-create-overrides), you will add the file paths to the cluster\nconfiguration file.\n\n1. Create a directory for the credential files. Helm charts cannot read files outside the chart directory, and the TLS credentials are managed with the `apigee-virtualhost` chart. therefore create your directory for the credential files within the \u003cvar translate=\"no\"\u003e$APIGEE_HELM_CHARTS_HOME\u003c/var\u003e`/apigee-virtualhost/` directory.\n\n For example: \n\n ```\n mkdir $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/\n ```\n2. Execute the following command to create the credential files and store them in your `$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs` directory: \n\n ```\n openssl req -nodes -new -x509 -keyout $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/keystore_$ENV_GROUP.key -out \\\n $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs/keystore_$ENV_GROUP.pem -subj '/CN='\u003cvar translate=\"no\"\u003e$DOMAIN\u003c/var\u003e'' -days 3650\n ```\n\n\n Where:\n - \u003cvar translate=\"no\"\u003eDOMAIN\u003c/var\u003e is the domain you provided as the hostname for the environment group you created in [Create an environment group](/apigee/docs/hybrid/v1.15/precog-add-environment#create-an-environment-group).\n - \u003cvar translate=\"no\"\u003eENV_GROUP\u003c/var\u003e is the name of the environment group where the domain is specified as a hostname. It's a good practice to include the environment group name in the key and keystore name to avoid accidentally reusing the same domain value if you create keys for multiple environment groups.\n\n\n This command creates a self-signed certificate/key pair that you can use for the quickstart\n installation.\n\n\n If you have additional environment groups with unique domain names, repeat this step for each\n environment group. You will reference these groups and certificates in the cluster\n configuration step.\n3. Check to make sure the files are in the `$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs` directory using the following command: \n\n ```\n ls $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/certs\n ```\n\n This you should see two files:\n - `keystore_`\u003cvar translate=\"no\"\u003eENV_GROUP\u003c/var\u003e`.pem` or `keystore_`\u003cvar translate=\"no\"\u003eENV_GROUP\u003c/var\u003e`.crt` is the self-signed TLS certificate file.\n - `keystore_`\u003cvar translate=\"no\"\u003eENV_GROUP\u003c/var\u003e`.key` is the key file.\n\n\nYou now have the credentials needed to manage Apigee hybrid\nin your Kubernetes cluster. Next, you will create an overrides file that is used by Kubernetes\nto deploy the hybrid runtime components to the cluster.\n\nNext step\n\n\u003cbr /\u003e\n\n[1](/apigee/docs/hybrid/v1.15/install-create-cluster) [2](/apigee/docs/hybrid/v1.15/install-download-charts) [3](/apigee/docs/hybrid/v1.15/install-create-namespace) [4](/apigee/docs/hybrid/v1.15/install-service-accounts) [5](/apigee/docs/hybrid/v1.15/install-create-tls-certificates) [(NEXT) Step 6: Create the overrides](/apigee/docs/hybrid/v1.15/install-create-overrides) [7](/apigee/docs/hybrid/v1.15/install-enable-control-plane-access) [8](/apigee/docs/hybrid/v1.15/install-cert-manager) [9](/apigee/docs/hybrid/v1.15/install-crds) [10](/apigee/docs/hybrid/v1.15/install-helm-charts) [11](/apigee/docs/hybrid/v1.15/install-workload-identity)\n\n\u003cbr /\u003e"]]