Airflow: Creating a DAG in airflow via UI

Mukul Jain picture Mukul Jain · Feb 26, 2018 · Viewed 13.4k times · Source

Airflow veterans please help,

I was looking for a cron replacement and came across apache airflow.

We have a setup where multiple users should be able to create their own DAGs and schedule their jobs.

Our users are a mix of people who may not know how to write the DAG python file. Also, they may not have access to the server where airflow is running.

Is it possible to create an airflow DAG via UI. I could not find any reference to the same. All examples speak about creating a python file and uploading it to the $AIRFLOW_HOME/dag/ directory. Users will not have access to this directory.

Rundeck for example allows user to add workflows and task dependencies via UI. Is there a plugin/functionality similar to this in airflow.

PS: I really like the way airflow shows the dependency graphs and want to try it out. But If creating a DAG is so complicated, then it will be a major problem for lots of my end users.

Answer

Andrey Kartashov picture Andrey Kartashov · Feb 28, 2018

I don't think there is an out of the box solution. What I would try with your task is the combination: CWL(Common Workflow Language), Airflow, Rabix Composer

So, CWL is just a specification, you describe your workflow in YAML like syntax.

There is a package pip3 install cwl-airflow it can parse CWL into Airflow DAG https://github.com/Barski-lab/cwl-airflow.

Rabix Composer UI/graphical CWL editor.