Skip to content

jonathan-major/airflow-webserver

 
 

Repository files navigation

Airflow-Webserver

Update


March 23, 2018

RBAC UI has been merged into Apache-Airflow master, and will be released with Airflow 1.10.0. I will no longer be maintaining this repo. If you are interested in using the RBAC feature, see the New Webserver UI with Role-Based Access Control section in UPDATING.md for instructions.

About


Airflow Webserver uses the Flask-AppBuilder (FAB) extension instead of Flask-Admin. The goal of this Airflow Webserver is to leverage FAB's build-in security features to introduce the following capabilities in the UI:

  • role-based access control
  • support for various authentications backends (OAuth, OpenID, Database, LDAP, etc.)
  • dag-level permissions

Airflow-Webserver will be merged back into Airflow's source code in the near future. Contributions are welcome!

Setup


Airflow-Webserver is written on top of Airflow 1.9.0, which is not currently in PyPI. Make sure you have airflow 1.9.0+ installed before attempting the setup below.

  • Clone the repo

      `git clone [email protected]:wepay/airflow-webserver.git`
      `cd airflow-webserver`
    
  • Install Flask-AppBuilder

      `pip install flask-appbuilder`
    
  • To set up the database object, modify the SQLALCHEMY_DATABASE_URI variable in config.py to your Airflow db. Note this will generate new tables which FAB uses for its security model.

      `fabmanager create-db --app airflow_webserver`
    
  • To create an admin account

      `fabmanager create-admin --app airflow_webserver`
    
  • To start the webserver

      `fabmanager run --app airflow_webserver`
    

About

A new Airflow UI built on top of Flask-AppBuilder

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 80.9%
  • HTML 8.3%
  • Python 7.4%
  • CSS 3.4%