From 02a1be828fb4a10901f103dc86e83794c1016b45 Mon Sep 17 00:00:00 2001 From: Kaxil Naik Date: Tue, 17 Dec 2024 16:29:02 +0530 Subject: [PATCH] Deprecate `conf` from Task Context (#44968) --- airflow/utils/context.py | 1 + docs/apache-airflow/templates-ref.rst | 4 ++-- newsfragments/44968.misc.rst | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 newsfragments/44968.misc.rst diff --git a/airflow/utils/context.py b/airflow/utils/context.py index 9dddcc3f16cd8..85834cb3dab26 100644 --- a/airflow/utils/context.py +++ b/airflow/utils/context.py @@ -359,6 +359,7 @@ class Context(MutableMapping[str, Any]): "tomorrow_ds_nodash": [], "yesterday_ds": [], "yesterday_ds_nodash": [], + "conf": [], } def __init__(self, context: MutableMapping[str, Any] | None = None, **kwargs: Any) -> None: diff --git a/docs/apache-airflow/templates-ref.rst b/docs/apache-airflow/templates-ref.rst index 05d4b10accca5..c00db17a6ae16 100644 --- a/docs/apache-airflow/templates-ref.rst +++ b/docs/apache-airflow/templates-ref.rst @@ -79,8 +79,6 @@ Variable Type Description ``{{ conn }}`` Airflow connections. See `Airflow Connections in Templates`_ below. ``{{ task_instance_key_str }}`` str | A unique, human-readable key to the task instance. The format is | ``{dag_id}__{task_id}__{ds_nodash}``. -``{{ conf }}`` AirflowConfigParser | The full configuration object representing the content of your - | ``airflow.cfg``. See :mod:`airflow.configuration.conf`. ``{{ run_id }}`` str The currently running :class:`~airflow.models.dagrun.DagRun` run ID. ``{{ dag_run }}`` DagRun The currently running :class:`~airflow.models.dagrun.DagRun`. ``{{ test_mode }}`` bool Whether the task instance was run by the ``airflow test`` CLI. @@ -133,6 +131,8 @@ Deprecated Variable Description you may be able to use ``prev_data_interval_start_success`` instead if the timetable/schedule you use for the DAG defines ``data_interval_start`` compatible with the legacy ``execution_date``. +``{{ conf }}`` The full configuration object representing the content of your + ``airflow.cfg``. See :mod:`airflow.configuration.conf`. ===================================== ========================================================================== Note that you can access the object's attributes and methods with simple diff --git a/newsfragments/44968.misc.rst b/newsfragments/44968.misc.rst new file mode 100644 index 0000000000000..160ccd60855af --- /dev/null +++ b/newsfragments/44968.misc.rst @@ -0,0 +1 @@ +The ``conf`` variable, which provided access to the full Airflow configuration (``airflow.cfg``), has been deprecated and will be removed in Airflow 3 from the Task (Jinja2) template context for security and simplicity. If you need specific configuration values in your tasks, retrieve them explicitly in your DAG or task code using the ``airflow.configuration.conf`` module. For users retrieving the webserver URL (e.g., to include log links in task or callbacks), one of the most common use-case, use the ``ti.log_url`` property available in the ``TaskInstance`` context instead.