This topic provides setup steps for configuring Google Cloud Secret Manager as a secrets backend on Astro.
If you use a different secrets backend tool or want to learn the general approach on how to integrate one, see Configure a Secrets Backend.
values.yaml file from the Register Agents modal in your Deployments>Agents page.To start, create an Airflow variable or connection in Google Cloud Secret Manager that you want to store as a secret. You can use the Cloud Console or the gcloud CLI.
Secrets must be formatted such that:
airflow-variables-<variable-key>.airflow-connections-<connection-id>.For example, to add an Airflow variable with a key my-secret-variable, you run the following gcloud CLI command:
For more information on creating secrets in Google Cloud Secret Manager, read the Google Cloud documentation.
Copy the complete JSON service account key for the service account that you want to use to access Secret Manager.
Add the following environment variables to your Astro project’s .env file, replacing <your-service-account-key> with the key you copied in Step 1:
(Optional) Run Variable.get("<your-variable-key>") to run a dag locally and confirm that your variables are accessible.
Set up Workload Identity for your Airflow Deployment. See Connect Astro to GCP data sources.
Run the following commands to set the secrets backend for your Astro Deployment:
(Optional) Remove the environment variables from your .env file or store your .env file in a safe location to protect your credentials in AIRFLOW__SECRETS__BACKEND_KWARGS.
To ensure the security of secrets, the .env variable is only available in your local environment and not in the Astro UI . See Set Environment Variables Locally.
Set up the Secret Manager locally. See Set up GCP Secret Manager locally.
Run the following command to set the SECRET_VAR_SERVICE_ACCOUNT environment variable on your Astro Deployment:
(Optional) Remove the environment variables from your .env file or store your .env file in a safe location to protect your credentials in AIRFLOW__SECRETS__BACKEND_KWARGS.