blob: d62412c6393ed5932b7334ab04fbb4707e240115 [file] [log] [blame]
.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.. http://www.apache.org/licenses/LICENSE-2.0
.. Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
.. _cli:
Command Line Interface and Environment Variables Reference
==========================================================
Command Line Interface
''''''''''''''''''''''
Airflow has a very rich command line interface that allows for
many types of operation on a DAG, starting services, and supporting
development and testing.
.. note::
For more information on usage CLI, see :doc:`usage-cli`
.. contents:: Content
:local:
:depth: 2
.. argparse::
:module: airflow.cli.cli_parser
:func: get_parser
:prog: airflow
Environment Variables
'''''''''''''''''''''
.. envvar:: AIRFLOW__{SECTION}__{KEY}
Sets options in the Airflow configuration. This takes priority over the value in the ``airflow.cfg`` file.
Replace the ``{SECTION}`` placeholder with any section
and the ``{KEY}`` placeholder with any key in that specified section.
For example, if you want to set the ``dags_folder`` options in ``[core]`` section,
then you should set the ``AIRFLOW__CORE__DAGS_FOLDER`` environment variable.
For more information, see: :doc:`/howto/set-config`.
.. envvar:: AIRFLOW__{SECTION}__{KEY}_CMD
For any specific key in a section in Airflow, execute the command the key is pointing to.
The result of the command is used as a value of the ``AIRFLOW__{SECTION}__{KEY}`` environment variable.
This is only supported by the following config options:
* ``sql_alchemy_conn`` in ``[core]`` section
* ``fernet_key`` in ``[core]`` section
* ``broker_url`` in ``[celery]`` section
* ``flower_basic_auth`` in ``[celery]`` section
* ``result_backend`` in ``[celery]`` section
* ``password`` in ``[atlas]`` section
* ``smtp_password`` in ``[smtp]`` section
* ``secret_key`` in ``[webserver]`` section
.. envvar:: AIRFLOW__{SECTION}__{KEY}_SECRET
For any specific key in a section in Airflow, retrieve the secret from the configured secrets backend.
The returned value will be used as the value of the ``AIRFLOW__{SECTION}__{KEY}`` environment variable.
See :ref:`Secrets Backends<secrets_backend_configuration>` for more information on available secrets backends.
This form of environment variable configuration is only supported for the same subset of config options as ``AIRFLOW__{SECTION}__{KEY}_CMD``
.. envvar:: AIRFLOW_CONFIG
The path to the Airflow configuration file.
.. envvar:: AIRFLOW_CONN_{CONN_ID}
Defines a new connection with the name ``{CONN_ID}`` using the URI value.
For example, if you want to create a connection named ``PROXY_POSTGRES_TCP``, you can create
a key ``AIRFLOW_CONN_PROXY_POSTGRES_TCP`` with the connection URI as the value.
For more information, see: :ref:`environment_variables_secrets_backend`.
.. envvar:: AIRFLOW_HOME
The root directory for the Airflow content.
This is the default parent directory for Airflow assets such as DAGs and logs.
.. envvar:: AIRFLOW_VAR_{KEY}
Defines an Airflow variable.
Replace the ``{KEY}`` placeholder with the variable name.
For more information, see: :ref:`managing_variables`.