> ## Documentation Index
> Fetch the complete documentation index at: https://astronomer.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Apply a Software platform configuration change

Astronomer Software uses [Helm](https://helm.sh/) to install and manage some platform-level settings that apply to all users and Deployments. The [Astronomer Helm chart](https://github.com/astronomer/astronomer/blob/master/values.yaml) includes configurations for areas such as:

* [Identity provider integrations](/docs/astro-private-cloud/v-0-37/integrate-auth-system)
* [Registry backends](/docs/astro-private-cloud/v-0-37/registry-backend)
* [Resource allocation limits](/docs/astro-private-cloud/v-0-37/configure-platform-resources)

You can apply any Astronomer Software platform customizations to your cluster using a YAML configuration. `values.yaml` contains settings for both the Astronomer Helm chart, as well as Helm charts for system components like [ElasticSearch](https://github.com/astronomer/astronomer/blob/master/charts/elasticsearch/values.yaml) and [nginx](https://github.com/astronomer/astronomer/blob/master/charts/nginx/values.yaml). Using Helm allows you to keep all of your configurations in a single file that you can version and store securely.

Use this document to learn how to retrieve your existing Helm configuration, modify configurations, and apply your changes to your Astronomer Software cluster.

## Step 1: Retrieve your current cluster configuration

The best way to add or modify configurations is to start with your existing `values.yaml` file. To retrieve the current `values.yaml` file of an existing Software cluster, run the following command:

```bash wrap theme={null}
helm get values -o yaml <your-installation-release-name> -n <your-installation-namespace> > values.yaml
```

Alternatively, your team might use version management to store your existing Helm configuration. In this case, retrieve, update, and store your configuration file according to your team's workflows.

## Step 2: Update your configurations

1. Create a copy of your `values.yaml` file so that you can compare your existing configuration to your new configuration.
2. In your copied file, update the values for the configurations you want to change. To update a configuration you haven't already specified, copy the corresponding default values from the relevant [default Helm chart](https://github.com/astronomer/astronomer/tree/master/charts) into your `values.yaml` file and then modify the value.

When you have finished updating the configuration, ensure that they have the same relative order and indentation as they do in the [default configuration file](https://github.com/astronomer/astronomer/blob/master/values.yaml). If they don't, your changes might not be properly applied. The name of the Helm charts you're modifying should be the first items in the file, such as in the following example:

```yaml wrap theme={null}
global:
  <your-global-configuration>

astronomer:
  <your-astronomer-configuration>

alertmanager:
  <your-alertmanager-configuration>

nginx:
  <your-nginx-configuration>
```

<Info>A number of configurations, including those for user permissions and identity providers, must be set in the `astronomer.houston.config` section of the Astronomer Helm chart, but the default values for `houston.config` are not available for reference in the Astronomer Helm repo. To view the default configurations for this section, see the [Astronomer documentation repository](https://github.com/astronomer/astronomer-docs-resources/blob/main/software/software_configs/0.37/default.yaml).</Info>

## Step 3: Push changes to your Astronomer Software cluster

1. Copy your platform namespace and release name. These are both likely to be `astronomer`. Your platform release name can be found in your list of active namespaces, which you can view by running the following command:

   ```bash wrap theme={null}
   kubectl get ns
   ```

   To locate your platform release name, run:

   ```bash wrap theme={null}
   helm ls -n <your-platform-namespace>
   ```

2. Save your updated `values.yaml` file and run the following command to apply it as a Helm upgrade:

   ```bash wrap theme={null}
   helm upgrade <your-platform-release-name> astronomer/astronomer -f <your-updated-config-yaml-file> -n <your-platform-namespace> --set astronomer.houston.upgradeDeployments.enabled=false
   ```

   Setting `astronomer.houston.upgradeDeployments.enabled=false` ensures that no Airflow components in Deployments are restarted during your upgrade.

3. Run the following command to confirm that your configuration was applied:

   ```bash wrap theme={null}
   helm get values <your-platform-release-name> -n <your-platform-namespace>
   ```
