# Environment Value Override

Environment Value Override allows us to customize individual environment values to suit an organization's needs. Values are typically created within the default environment where the 'starter' environments supplied by CloudTruth (development, production, staging) automatically inherit their values from the default environment. This is very useful to help guarantee a typical default value for all application environments the configuration is applied to when read from CloudTruth. When values need to be different across environments, that's when value overriding is needed. For example, database secrets, API Keys, and container constraints are just a few values which may differ between environments.

More details regading parameter and parameter value inheritance can be found in the [Parameter and Paramter Value Inheritance](/configuration-management/parameters/parameter-and-parameter-value-inheritance.md) section.

{% hint style="info" %}
In a simple CloudTruth project structure, using the `development` environment values for the `default` environment ensures that all new environments will be given reasonable set of configuration and secrets values when created.  Environment value overrides are typically for non-development environments when the values differ or need to be used by a limited set of team members for security purposes.
{% endhint %}

## Overriding an environment value

Starting within a parameter's details page:

<figure><img src="/files/mAPVtlU4zKchkY6KqwnS" alt="" width="563"><figcaption><p>Example parameter details page</p></figcaption></figure>

1. Select the appropriate environment from the `ENVIRONMENTS` tree:

<figure><img src="/files/NwuNMSk3c9UXhkSQ9Q9S" alt="" width="379"><figcaption></figcaption></figure>

2. Click the `Edit Value` button:

<figure><img src="/files/sl3hfDnhbt9UP5rsL3Be" alt="" width="563"><figcaption></figcaption></figure>

3. Make the change to the value, then click `Save`:

<figure><img src="/files/Voj1AOcPT8SWRWMuYF1I" alt="" width="563"><figcaption></figcaption></figure>

4. The `ENVIRONMENTS` tree will update to the new value along with the Environment Value in the details:

<figure><img src="/files/gkwmBkMdqzMhVuqrRzCf" alt="" width="563"><figcaption></figcaption></figure>

Now when the `production` environment is retrieved, the updated value will be returned.

## Removing an environment override

When needed, an environment override can be easily removed and the value will revert to the parent environment's value. We'll start from the parameter's details page:

<figure><img src="/files/VAYVgp8OFt07WDCFIXPE" alt="" width="563"><figcaption><p>Example overridden parameter details page</p></figcaption></figure>

1. Select the appropriate environment from the `ENVIRONMENTS` tree:

<figure><img src="/files/NwuNMSk3c9UXhkSQ9Q9S" alt="" width="379"><figcaption></figcaption></figure>

2. Click the `Edit Value` button, the difference here is the highlighted `Remove Environment Override` button visible on overridden environments:

<figure><img src="/files/2K4whtpsyNFBjNNJJSxa" alt="" width="563"><figcaption></figcaption></figure>

3. Click the `Remove Environment Override` button to remove the override. The modal will close and a message regarding the removal of the override will be displayed.
4. The  `ENVIRONMENTS` tree will update with the name of the environment the value is being inherited from, along with the parameter details reflecting the same:

<figure><img src="/files/y0Zpzs8hmSbGueC1ZmXM" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloudtruth.com/configuration-management/parameters/parameter-management/environment-value-override.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
