Apply a Software platform configuration change
Astronomer Software uses Helm to install and manage some platform-level settings that apply to all users and Deployments. The Astronomer Helm chart includes configurations for areas such as:
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 and nginx. 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:
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
- Create a copy of your
values.yaml
file so that you can compare your existing configuration to your new configuration. - 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 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. 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:
global:
<your-global-configuration>
astronomer:
<your-astronomer-configuration>
alertmanager:
<your-alertmanager-configuration>
nginx:
<your-nginx-configuration>
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.
Step 3: Push changes to your Astronomer Software cluster
-
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:kubectl get ns
To locate your platform release name, run:
helm ls -n <your-platform-namespace>
-
Save your updated
values.yaml
file and run the following command to apply it as a Helm upgrade: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. -
Run the following command to confirm that your configuration was applied:
helm get values <your-platform-release-name> -n <your-platform-namespace>