SIGN IN SIGN UP
apache / airflow UNCLAIMED

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

0 0 267 Python

Mask per-key secrets-backend-kwarg overrides on the Config API (#67622)

Per-key environment-variable overrides like `AIRFLOW__SECRETS__BACKEND_KWARG__SECRET_ID` and `AIRFLOW__WORKERS__SECRETS_BACKEND_KWARG__SECRET_ID` are materialised by `conf.as_dict` as synthetic options under the `secrets` and `workers` sections (e.g. `backend_kwarg__secret_id`). These synthetic options carry the same Vault / role_id / secret_id material as the registered `backend_kwargs` option, but they are not present in `conf.sensitive_config_values`, so the Config API was returning their values unmasked.

This change adds:

- a constant `_PER_KEY_SENSITIVE_PREFIXES` that names the two synthetic-option prefixes,
- a helper `_mask_per_key_sensitive_options` that the `GET /config` route calls when `display_sensitive=False`,
- a helper `_is_per_key_sensitive_option` that extends the sensitivity check in the `GET /config/section/{section}/option/{option}` route.

Reference: airflow-s/airflow-s#433

Generated-by: Claude Opus 4.7 (1M context) following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions
J
Jarek Potiuk committed
f0f978d2736891a2f9e9d2954e87fc358e1ef4e3
Parent: 70257e6
Committed by GitHub <noreply@github.com> on 5/27/2026, 11:47:09 PM