Add a new environment definition to the envs[] property in your overrides file.
Note that the property is an array; therefore, you can add more than one environment definition
to it.
Give the new environment the same name as the environment you created in the UI.
For example, the following configuration defines two environments: test
and prod:
ENV_RELEASE_NAME is a name used to track installation and upgrades of the
apigee-env chart. Helm release names must be unique within your Apigee hybrid installation. If you environment name
is unique, this can be the same as ENV_NAME. However, if you have the same name for your environment and
environment group, make sure to enter a unique Helm release name for each. For example, if both are named dev you
could use something like dev-env-release and dev-envgroup-release.
For more information on releases in Helm,
see Three big concepts
in the Helm documentation.
[[["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-29 UTC."],[[["\u003cp\u003eCreating an Apigee hybrid environment involves two primary steps: first, creating the environment in the management plane using the UI or API, and second, adding the environment's configuration to the overrides file.\u003c/p\u003e\n"],["\u003cp\u003eNew environments are defined within the \u003ccode\u003eenvs[]\u003c/code\u003e property in the overrides file, allowing for the configuration of multiple environments, such as 'test' and 'prod', with each needing the same name as the environment created in the UI.\u003c/p\u003e\n"],["\u003cp\u003eChanges to environment configurations are applied to the cluster sequentially, using the \u003ccode\u003ehelm upgrade\u003c/code\u003e command for each environment, specifying the environment name and overrides file.\u003c/p\u003e\n"],["\u003cp\u003eWhen using \u003ccode\u003ehelm upgrade\u003c/code\u003e, if an error occurs stating that there are no deployed releases, the \u003ccode\u003eupgrade\u003c/code\u003e command can be replaced with \u003ccode\u003einstall\u003c/code\u003e to resolve the issue.\u003c/p\u003e\n"]]],[],null,["# Create environments\n\n| You are currently viewing version 1.12 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nThis topic explains how to create new environments for Apigee hybrid. For an introduction, see\n[About environments and environment groups](/apigee/docs/api-platform/fundamentals/environments-overview).\n\nAbout environment creation\n--------------------------\n\n\nEnvironment creation is a two-step process:\n\n- Create an environment in the management plane using either the UI or an Apigee API.\n- Add configuration for that environment to your overrides file and apply it to the cluster.\n\nThe steps for adding an environment are described in adding and configuring an environment are\nexplained in [Step 5: Add an environment](/apigee/docs/hybrid/v1.12/precog-add-environment) and [Specify configuration overrides](/apigee/docs/hybrid/v1.12/install-copy-overrides#specify-configuration-overrides).\n\nHow to create an environment\n----------------------------\n\n1. Create one or more new environments in the [Apigee UI](https://apigee.google.com) or with the [Create environments API](/apigee/docs/reference/apis/apigee/rest/v1/organizations.environments/create). For the basic steps, see [Step 5: Add an environment](/apigee/docs/hybrid/v1.12/precog-add-environment).\n2. Add a new environment definition to the `envs[]` property in your overrides file.\n Note that the property is an array; therefore, you can add more than one environment definition\n to it.\n Give the new environment the same name as the environment you created in the UI.\n For example, the following configuration defines two environments: **test**\n and **prod**:\n\n ```actionscript-3\n namespace: my-namespace\n org: my-organization\n ...\n envs:\n - name: test\n serviceAccountPaths:\n synchronizer: \"your_keypath/synchronizer-manager-service-account.json\n udca: \"your_keypath/analytic-agent-service-account.json\n\n - name: prod\n serviceAccountPaths:\n synchronizer: \"your_keypath/synchronizer-manager-service-account.json\n udca: \"your_keypath/analytic-agent-service-account.json\n ...\n ```\n3. Apply any changes to the cluster. Apply the changes to each environment in sequence. \n\n ```\n helm upgrade ENV_RELEASE_NAME apigee-env/ \\\n --install \\\n --namespace APIGEE_NAMESPACE \\\n --set env=ENV_NAME \\\n -f OVERRIDES_FILE \\\n --dry-run=server\n ```\n - \u003cvar translate=\"no\"\u003eENV_RELEASE_NAME\u003c/var\u003e is a name used to track installation and upgrades of the `apigee-env` chart. Helm release names must be unique within your Apigee hybrid installation. If you environment name is unique, this can be the same as \u003cvar translate=\"no\"\u003eENV_NAME\u003c/var\u003e. However, if you have the same name for your environment and environment group, make sure to enter a unique Helm release name for each. For example, if both are named `dev` you could use something like `dev-env-release` and `dev-envgroup-release`.\n - For more information on releases in Helm, see [Three big concepts](https://helm.sh/docs/intro/using_helm/#three-big-concepts) in the Helm documentation.\n\n The `test` environment: \n\n ```\n helm upgrade test-release apigee-env/ \\\n --namespace apigee \\\n --atomic \\\n --set env=test \\\n -f OVERRIDES_FILE.yaml\n ```\n | **Note:** If you see an error saying `Error: UPGRADE FAILED: \"`*test*`\" has no deployed releases`, replace `upgrade` with `install` and try the command again.\n\n The `prod` environment: \n\n ```\n helm upgrade prod-release apigee-env/ \\\n --namespace apigee \\\n --set env=prod \\\n --atomic \\\n -f OVERRIDES_FILE.yaml\n ```\n\n\nFor more information about virtual host configuration see [Configure virtual hosts](/apigee/docs/hybrid/v1.12/base-path-routing).\nFor a complete list of environment configuration elements, see [envs](/apigee/docs/hybrid/v1.12/config-prop-ref#envs) in the\n[Configuration\nproperty reference](/apigee/docs/hybrid/v1.12/config-prop-ref#envs)."]]