The airflow
            utility is an orchestrator that allows for workflows to be programmatically authored, scheduled, and monitored. This utility is in a preview stage of readiness. It is based upon our Extension Developer Kit (EDK) which is the new way to build and add plugins to Meltano Hub. This preview of Airflow will replace the native orchestrator once it comes out of preview. In the meantime, we would appreciate any feedback in the EDK repo and in the Airflow Extension repo.EDK Preview
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
- 
                Add the airflow utility to your project
                using
                
:meltano add - 
                Configure the airflow settings using
                
:meltano config 
meltano add utility airflowmeltano config airflow set --interactiveNext steps
Use the meltano schedule command to create pipeline schedules in your project, to be run by Airflow.
If you're running Airflow for the first time in a new environment:
# explicitly seed the database, create default airflow.cfg, deploy the meltano dag orchestrator meltano invoke airflow:initialize # create an airflow user with admin privileges meltano invoke airflow users create -u admin@localhost -p password --role Admin -e admin@localhost -f admin -l adminLaunch the Airflow UI and log in using the username/password you created:
meltano invoke airflow webserverBy default, the UI will be available at at
http://localhost:8080. You can change this using thewebserver.web_server_portsetting documented below.Start Scheduler or execute Airflow commands directly using the instructions in the Meltano docs.
If you run into any issues, learn how to get help.
Capabilities
This plugin currently has no capabilities defined. If you know the capabilities required by this plugin, please contribute!Settings
Meltano centralizes the configuration of all of the plugins in your project, including Airflow's. This means that if the Airflow documentation tells you to put something in airflow.cfg, you can use meltano config, meltano.yml, or environment variables instead, and get the benefits of Meltano features like environments.
Any setting you can add to airflow.cfg can be added to meltano.yml, manually or using meltano config. For example, [core] executor = SequentialExecutor becomes meltano config airflow set core executor SequentialExecutor on the CLI, or core.executor: SequentialExecutor in meltano.yml. Config sections indicated by [section] in airflow.cfg become nested dictionaries in meltano.yml.
      The
      airflow settings that are known to Meltano are documented below. To quickly
      find the setting you're looking for, click on any setting name from the list:
    
database.sql_alchemy_conncore.dags_foldercore.plugins_foldercore.load_examplescore.dags_are_paused_at_creationwebserver.web_server_portlogging.base_log_folderlogging.dag_processor_manager_log_locationscheduler.child_process_log_directoryextension.airflow_homeextension.airflow_config
      You can
      override these settings or specify additional ones
      in your meltano.yml by adding the settings key.
    
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
SQL Alchemy Connection (database.sql_alchemy_conn)
- 
          Environment variable:
          
AIRFLOW_DATABASE_SQL_ALCHEMY_CONN - 
          Default Value: 
sqlite:///$MELTANO_PROJECT_ROOT/.meltano/utilities/airflow/airflow.db 
DAGs Folder (core.dags_folder)
- 
          Environment variable:
          
AIRFLOW_CORE_DAGS_FOLDER - 
          Default Value: 
$MELTANO_PROJECT_ROOT/orchestrate/airflow/dags 
Plugins Folder (core.plugins_folder)
- 
          Environment variable:
          
AIRFLOW_CORE_PLUGINS_FOLDER - 
          Default Value: 
$MELTANO_PROJECT_ROOT/orchestrate/airflow/plugins 
Load Examples (core.load_examples)
- 
          Environment variable:
          
AIRFLOW_CORE_LOAD_EXAMPLES - 
          Default Value: 
false 
Pause DAGs at Creation (core.dags_are_paused_at_creation)
- 
          Environment variable:
          
AIRFLOW_CORE_DAGS_ARE_PAUSED_AT_CREATION - 
          Default Value: 
false 
Webserver Port (webserver.web_server_port)
- 
          Environment variable:
          
AIRFLOW_WEBSERVER_WEB_SERVER_PORT - 
          Default Value: 
8080 
Base Log Folder (logging.base_log_folder)
- 
          Environment variable:
          
AIRFLOW_LOGGING_BASE_LOG_FOLDER - 
          Default Value: 
$MELTANO_PROJECT_ROOT/.meltano/utilities/airflow/logs 
The folder where airflow should store its log files. This path must be absolute. There are a few existing configurations that assume this is set to the default. If you choose to override this you may need to update the dag_processor_manager_log_location and child_process_log_directory settings as well.
Dag Processor Manager Log Location (logging.dag_processor_manager_log_location)
- 
          Environment variable:
          
AIRFLOW_LOGGING_DAG_PROCESSOR_MANAGER_LOG_LOCATION - 
          Default Value: 
$MELTANO_PROJECT_ROOT/.meltano/utilities/airflow/logs/dag_processor_manager/dag_processor_manager.log 
Where to send dag parser logs.
Child Process Log Directory (scheduler.child_process_log_directory)
- 
          Environment variable:
          
AIRFLOW_SCHEDULER_CHILD_PROCESS_LOG_DIRECTORY - 
          Default Value: 
$MELTANO_PROJECT_ROOT/.meltano/utilities/airflow/logs/scheduler 
Where to send the logs of each scheduler process.
Airflow Home (extension.airflow_home)
- 
          Environment variable:
          
AIRFLOW_EXTENSION_AIRFLOW_HOME - 
          Default Value: 
$MELTANO_PROJECT_ROOT/orchestrate/airflow 
The directory where Airflow will store its configuration, logs, and other files.
Airflow Home (extension.airflow_config)
- 
          Environment variable:
          
AIRFLOW_EXTENSION_AIRFLOW_CONFIG - 
          Default Value: 
$MELTANO_PROJECT_ROOT/orchestrate/airflow/airflow.cfg 
The path where the Airflow configuration file will be stored.
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
    channel.
  Install
meltano add utility airflowMaintenance Status
Meltano Stats
Keywords
