> ## 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.

# Override data plane cluster configurations

Cluster overrides let you customize Deployment configuration for one data plane cluster. They don't change platform-level control-plane settings.

Use [Configure Astro Private Cloud](/docs/astro-private-cloud/v-1-x/configure-astro-private-cloud) if you need to decide whether a setting belongs in platform config or in a cluster override.

Astro Private Cloud (APC) has two types of Deployment configurations that you can set at the data plane cluster level.

* *Default configuration*: The base, system-provided configuration. You can override default values, but you can't delete default keys.
* *Custom configuration*: Your own additional keys and values. You can add, modify, or delete these keys.

## Prerequisites

* An APC control plane is installed and reachable.
* You have System Admin permissions in the APC UI or access to the Houston API.
* The data plane cluster is healthy and accessible from the control plane.

## Update your cluster

You can define cluster configurations when you first [register a cluster](/docs/astro-private-cloud/v-1-x/register-data-plane) or later by updating the cluster via the UI or Houston API.

* **Registration**: The form includes an optional **Cluster Override** field. You can supply initial overrides when registering.
* **Edit**: The cluster page contains your overall cluster information and a **Deployment Configuration** section.
  * **Cluster Information**: View and edit the cluster name.
  * **Current Configuration**: Read-only view of the default configurations.
  * **Configuration Override**: Editable area where you provide override values for base keys and/or add custom keys.
  * After you add overrides, the **Current Configuration** shows a read-only, git-style diff of added/modified values.
* **Houston API**: To automate cluster management, you can use the `updateCluster` GraphQL mutation in the Houston API playground at `https://houston.<base-domain>/v1/playground` or using a script that leverages `curl` or a GraphQL library in a programming language.

See the example mutation below, which uses query variables to pass the `deploymentsConfigOverride` as JSON to create a ConfigMap for each Airflow Deployment:

```graphql wrap theme={null}
mutation UpdateCluster($id: Uuid!, $override: JSON) {
  updateCluster(
    id: $id
    deploymentsConfigOverride: $override
  ) {
    id
    config
  }
}
```

Query variables:

```json wrap theme={null}
{
  "id": "<cluster-id>",
  "override": {
    "helm": {
      "airflow": {
        "extraObjects": [
          {
            "apiVersion": "v1",
            "kind": "ConfigMap",
            "metadata": {
              "name": "{{ .Release.Name }}-custom-config",
              "namespace": "{{ .Release.Namespace }}"
            },
            "data": {
              "my-key": "my-value"
            }
          }
        ]
      }
    }
  }
}
```

`deploymentsConfigOverride` deep-merges object keys into the existing cluster configuration, so separate API calls accumulate. Arrays, such as `extraObjects`, are always replaced in full. To add another array entry, re-send the complete array.

<Note>
  After you run the mutation, individually redeploy each affected Deployment for the changes to take effect.
</Note>

## Update cluster information

Only the **Cluster name** is editable as a cluster property in the **Cluster Information** section. You must use **Configuration Override** to make changes to Deployment configurations by overriding the base Deployment configuration.

## Override base configuration

Add your own keys and values to tailor behavior per cluster. You can't delete default keys, but you can override their values to make custom configurations.

<Steps>
  <Step title="Select cluster">
    In the **Clusters** page, select the cluster where you want to override a configuration.
  </Step>

  <Step title="Find configuration to review">
    Search for the configuration that you want to edit in the **Current Configuration**.

    <Tip>Use **ctrl+F** or **cmd+F** on Mac to search for the config.</Tip>
  </Step>

  <Step title="Edit Configuration Override">
    Click **Edit** to unlock **Configuration Override**. You can now make override edits.
  </Step>

  <Step title="Add new key and value">
    Add your new key and value to the **Configuration Override**.

    * To delete an override or a custom property, set its value to `null` in the **Configuration Override**. Do not remove the key; setting it to `null` removes the property. If you try to configure a default key with `null` in your **Configuration Override**, Astro Private Cloud does not allow you to save your changes, and prompts you to update your overrides with an accepted value.
    * **Base Configuration keys cannot be deleted.** You can only override their values because base configurations are the operational defaults.

    <Danger>
      Carefully check your configuration updates before you update your cluster, as these configuration changes can impact all cluster users.
    </Danger>
  </Step>

  <Step title="Apply changes">
    Click **Update cluster** to apply your changes.

    <Note>
      Deployment config updates are not applied until each Deployment is individually updated.
    </Note>
  </Step>

  <Step title="Verify changes">
    * Confirm cluster status is **Healthy** on the **Clusters** page in the Astro UI.
    * For Airflow Deployments in your updated cluster, trigger a small change and confirm Commander applies it as expected.
    * In Prometheus on the control plane, verify the cluster appears in federated targets.
  </Step>
</Steps>

## Additional notes

* Cluster overrides apply to `deployments.*` values for the selected data plane cluster.
* In APC 1.x, cluster override is the only override layer after platform config.
* Settings outside `deployments.*` stay in `values.yaml`, typically under `astronomer.houston.config`, and require a Helm upgrade.
* Use [Apply a config change](/docs/astro-private-cloud/v-1-x/apply-platform-config) for platform-level values and [Configure Astro Private Cloud](/docs/astro-private-cloud/v-1-x/configure-astro-private-cloud) for the full hierarchy.

## Best practices

* Keep overrides minimal. Prefer **Base Config** unless a cluster truly deviates.
* Use consistent naming and comments for custom keys.
* Review the diff in **Current Configuration** to validate the final effective settings before you **Update Cluster**.
